我用JS写的一段创建TABLE,添加行,模糊匹配,根据CHECKBOX删除内容,创建标题的代码(删除完再添加行有计数器的BUG)

简介:

做错了,贴出来,需要用JQUERY做,现在完全整成DOM和JS做的了

效果图:


代码:

<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript">

$(document).ready(function() {
	$("p").click(function() {
	$(this).hide();
	});


});

   var flag=true
   var tb1 = document.createElement("TABLE")
    
function clearNoNum(obj)
{
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
  
function addTable(){
   
   if(flag!=false)
   {
   flag=false;

   tb1.id="myTable";
   tb1.border="1px";
   var row1 = tb1.insertRow(0); 
   var cell1=row1.insertCell(0);
   var cell2=row1.insertCell(1);
   var cell3=row1.insertCell(2);
   var cell4=row1.insertCell(3);
   var cell5=row1.insertCell(4);
   var cell6=row1.insertCell(5);
   var cell7=row1.insertCell(6);

   document.getElementById("d2").appendChild(tb1);
   cell1.innerHTML="选项";
   cell2.innerHTML="序号";
   cell3.innerHTML="编号";
   cell4.innerHTML="名称";   
   cell5.innerHTML="位置";   
   cell6.innerHTML="数量";
   cell7.innerHTML="单价";
   row1.insertCell(7).innerHTML="价格";
   }
}

function insRow()
  {
  var x=document.getElementById('myTable').insertRow(0)
  var y=x.insertCell(0)
  var z=x.insertCell(1)
  y.innerHTML="NEW CELL1"
  z.innerHTML="NEW CELL2"
  }
  
  
function saveTable()
  {
  document.getElementById('myTable').disabled=true;
  }

function editTable()
  {
  document.getElementById('myTable').disabled=false;
  }
  
function createCaption()
  {
  var x=document.getElementById('myTable').createCaption()
  x.innerHTML="我的表格标题"
  }
  

function insertRow() //增加的一行方法
  { 
  newRow=document.all.myTable.insertRow(-1); 
  var j_1 = document.all.myTable.rows.length; 

  newcell=newRow.insertCell(); 
  newcell.innerHTML=""+(j_1-1)+""; 

  newcell=newRow.insertCell() ; 
  newcell.innerHTML="<input type='text' onkeyup='clearNoNum(this)' name='zzkText' />"; 
 
  newcell=newRow.insertCell() ; 
  newcell.innerHTML="<input type='text' onkeyup='clearNoNum(this)' name='zzkText' />"; 

  newcell=newRow.insertCell() ; 
  newcell.innerHTML="<form><select id='mySelect'><option>库存A</option><option>库存B</option><option>库存C</option></select></form>"; 
  
  newcell=newRow.insertCell() ; 
  newcell.innerHTML="<input type='text' name='zzkText"+j_1+"' />"; 

  newcell=newRow.insertCell() ; 
  newcell.innerHTML="<input type='text' name='zzkText"+j_1+"' />"; 

  newcell=newRow.insertCell() ; 
  newcell.innerHTML=""+(j_1-1)+""; 

  newcell=newRow.insertCell() ; 
  newcell.innerHTML="<input type='checkbox' name='mycheck' />"; 
  
  document.all.myTable.focus(); 

} 
  
 function deleteRow()
 {
    var ok=document.getElementsByName("mycheck");
       for(var k=0;k<ok.length;k++)
    {
            if(ok[k].checked==true)
            {
                tb1.deleteRow(k+1);
                k=k-1;
            }
       }
 }
 
 

</script>
</head>
<body>
<p>如果你点击我,我就消失</p>

</br>
<div id="d1">
<input type="button"  value="创建" onclick="addTable()">
<input type="button"  value="添加" onclick="insertRow()">
<input type="button"  value="删除" onclick="deleteRow()">
<input type="button"  value="保存" onclick="saveTable()">
<input type="button"  value="编辑" onclick="editTable()">
<input type="button"  value="复制">
<input type="button"  onclick="createCaption()" value="创建标题">
</div>

<div id="d2">

</div>

<div id="d3">

</div>



</body>
</html>


目录
相关文章
|
1月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
124 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
30天前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
53 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
1月前
|
人工智能 JavaScript 前端开发
一段 JavaScript 代码,集成网站AI语音助手
根据本教程,只需通过白屏化的界面操作,即可快速构建一个专属的AI智能体。
|
2月前
|
JavaScript 前端开发 测试技术
在 golang 中执行 javascript 代码的方案详解
本文介绍了在 Golang 中执行 JavaScript 代码的四种方法:使用 `otto` 和 `goja` 嵌入式 JavaScript 引擎、通过 `os/exec` 调用 Node.js 外部进程以及使用 WebView 嵌入浏览器。每种方法都有其适用场景,如嵌入简单脚本、运行复杂 Node.js 脚本或在桌面应用中显示 Web 内容。
149 15
在 golang 中执行 javascript 代码的方案详解
|
3月前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
84 3
|
3月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
789 4
|
3月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
181 6
|
3月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
419 1
|
3月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例

热门文章

最新文章