ZhipSoft.com
    冬去春来
        郑重声明:本Blog纯属个人学习、工作需要,记录相关资料。请不要发表任何有人身攻击的言论,谢谢!!www.ZhipSoft.com
posts - 94,comments - 149,trackbacks - 0

[JS]动态添加删除ROW
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>增加Table行</title>
</head>
<script>

var count=3;

function CheckAll(sender)
{
 var _array = document.getElementsByTagName("input");
 for (var i=0;i<_array.length;i++)
 {
  var e = _array[i];
  if (e.type == "checkbox")
  {
    if(e.id != "chkAll")
    {
    e.checked = sender.checked;
    }
  }
 }
}


function AddRow(obj)
{
 count++;
 
 //添加一行
 var newTr = testTbl.insertRow();
 newTr.setAttribute("id","tr" + count.toString());
 //添加两列
 var newTd0 = newTr.insertCell();
 var newTd1 = newTr.insertCell();
 //设置列内容和属性
 
 newTd0.innerHTML = '<input type=checkbox id="box'+ count.toString() +'">';
 newTd1.innerText= '第'+ count.toString() +'行';
}

function DelRow()
{
 var tb = document.getElementById("testTbl");
 if(tb.hasChildNodes)
 {
  var lastchild = tb.childNodes[0].childNodes[tb.childNodes[0].childNodes.length-1];
  if(lastchild)
  {
   if(confirm("确认删除" + lastchild.childNodes[1].childNodes[0].nodeValue + "?"))
   {
    var removednode = lastchild.parentNode.removeChild(lastchild);
    //alert(removednode.childNodes[1].childNodes[0].nodeValue);
    return true;
   }
   else
   {
    return false;
   }
  }
 }
}

function ShowCheckboxID()
{
 var message = "";
 
 var _array = document.getElementsByTagName("input");
 for (var i=0;i<_array.length;i++)
 {
  var e = _array[i];
  if (e.type == "checkbox")
  {
   //alert(e.id);
   message += e.id + ",";
  }
 }
 
 if(message.length > 0)
 {
  message = message.substr(0,message.length-1);
 }
 alert(message);
}

function ShowTRID()
{
 var tb = document.getElementById("testTbl");
 if(tb.hasChildNodes)
 {
  var message = "";
  var array_tr = tb.childNodes[0].childNodes;
  for(var i=0;i< array_tr.length;i++)
  {
   if(i==0)
   {
    message += array_tr[i].id;
   }
   else
   {
    message += ","+array_tr[i].id;
   }
   //alert(array_tr[i].id);
  }
 
  alert(message);
 }
}

function SplitStr()
{
 var str = document.getElementById("txt1").value;
 
 var _array = str.split(",");
 
 var result = "";
 for(var i=0;i<_array.length;i++)
 {
  result += _array[i] +"\r\n";
 }
 
 if(result.length > 0)
 {
  result = result.substr(0,result.length-2);
 }
 alert(result);
}
</script>
<body>

<table id="testTbl" style="border: solid 1px #D2D2D2">
<tr id="tr0">
<td><input type=checkbox id="chkAll" onclick="CheckAll(this);"></td>
<td>全选</td>
</tr>
<tr id="tr1">
<td ><input type=checkbox id="box1"></td>
<td>第1行</td>
</tr>
<tr id="tr2">
<td ><input type=checkbox id="box2"></td>
<td>第2行</td>
</tr>
<tr id="tr3">
<td ><input type=checkbox id="box3"></td>
<td>第3行</td>
</tr>
</table>

<br />
<input type="button" id="btnAdd" onclick="AddRow();" value="Add Row" />
<input type="button" id="btnDel" onclick="DelRow();" value="Del Row" />
<input type="button" id="btnShowCheckboxID" onclick="ShowCheckboxID();" value="Show Checkbox ID" />
<input type="button" id="btnShowTRID" onclick="ShowTRID();" value="Show TR ID" />

<hr size="1" />
<input type="text" id="txt1" value="She,sells,seashells,by,the,seashore" size="50" style="cursor:pointer" />
<input type="button" id="btnSplit" onclick="SplitStr();" value="split string" />
</body>
</html>
==============================
删除表格行:

<script>function deleteRow (tableID, rowIndex) {
var table =document.all[tableID].deleteRow(rowIndex);
}
</script>

<table id=mxh border=1>
<tr><td>第1行</td><td onclick="deleteRow('mxh',this.parentElement.rowIndex)">删除本行</td></tr>
<tr><td>第2行</td><td onclick="deleteRow('mxh',this.parentElement.rowIndex)">删除本行</td></tr>
<tr><td>第3行</td><td onclick="deleteRow('mxh',this.parentElement.rowIndex)">删除本行</td></tr>
<tr><td>第4行</td><td onclick="deleteRow('mxh',this.parentElement.rowIndex)">删除本行</td></tr>
</table>



        本Blog纯属个人学习、工作需要,记录相关资料。请不要发表任何有人身攻击的言论,谢谢! www.zhipsoft.cn
posted on 2008-07-30 08:53 ZhipSoft 阅读(8029) 评论(3)  编辑  收藏 所属分类: JavaScript

FeedBack:
# re: JS动态添加删除行
2008-08-28 19:35 | softwave
类似的功能建议使用JQuery去完成,可以保证最大的执行效率和代码兼容性  回复  更多评论
  
# re: JS动态添加删除行[未登录]
2008-12-19 17:59 | 过客
不错不错真的很不错 谢谢了  回复  更多评论
  
# re: JS动态添加删除行[未登录]
2009-09-03 09:02 | rabbit
谢谢您了。很不错  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: