我用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>


目录
相关文章
|
17天前
|
JavaScript
短小精悍的js代码
【10月更文挑战第17天】
116 58
|
27天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
197 2
|
4天前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
13 3
原生js炫酷随机抽奖中奖效果代码
|
9天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
110 4
|
11天前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
54 6
|
7天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
26 1
|
25天前
|
JavaScript 前端开发 开发者
如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。
【10月更文挑战第9天】随着前端开发技术的发展,代码规范和格式化工具变得至关重要。本文介绍如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。通过安装插件、配置 ESLint 和 Prettier,以及设置 VSCode,实现代码实时检查和格式化,确保代码风格一致。
20 2
|
26天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升代码质量和团队协作效率。
【10月更文挑战第8天】本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升代码质量和团队协作效率。通过安装 VSCode 插件、配置 ESLint 和 Prettier,实现代码规范检查和自动格式化,确保代码风格一致,提高可读性和维护性。
36 2
|
22天前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包:原理、应用与代码演示
【10月更文挑战第12天】深入理解JavaScript中的闭包:原理、应用与代码演示