s如何动态新增、删除表格的指定行

s如何动态新增、删除表格的指定行

问题描述:

如图片所示,点击“继续添加”可以在表格里新增一行;点击“删除”可以删除选中的行。希望熟悉JS的能给个可运行的示例,谢谢!!

[b]问题补充:[/b]
自己解决了。由于分数只能给一个人,就给第一个回答的了



动态操作表的行







选择 内容


 继续添加&nbsp&nbsp&nbsp删除



var rowCount = 0; var lastDeleteIndex = -1; var tableObj = document.getElementById('DemoTable'); function addRow(){ var newTr = tableObj.insertRow(); rowCount++; var newTd0 = newTr.insertCell(); var newTd1 = newTr.insertCell(); newTd0.innerHTML = '<input type="checkbox" name="xz'+rowCount+'" id="choose'+rowCount+'">'; newTd1.innerHTML = '<input type="text" name="nr" size="50" >'; } function deleteObj(){ if(rowCount < 1){ alert("没有内容可以删除"); return false; } var oldCount = rowCount + 1; for(var i = rowCount ; i > 0; i--){ var deleteTr = document.getElementById("choose" + i); if(deleteTr != null && deleteTr.checked){ alert("delete row " + i); tableObj.deleteRow(i); //下标从 0 开始 lastDeleteIndex = i - 1; rowCount--; }else{ alert("not delete row " + i); } } //重新设置checkbox的id [code="java"][/code] for(i = lastDeleteIndex + 2; i < oldCount; i++){ var box = document.getElementById("choose" + i); if(box != null){ box.id = "choose" + (++lastDeleteIndex); }else{ alert('not exist row' + i); } } alert('lastDeleteIndex ' + lastDeleteIndex); }

function add()
{

 var temp = document.getElementById("newOption");
 temp.insertRow(temp.rows.length);
var trlength=temp.rows.length  ;//索引值
temp.rows.item(trlength -1).insertCell(0);
temp.rows.item(trlength -1).insertCell(1);
temp.rows.item(trlength -1).insertCell(2);
temp.rows.item(trlength -1).insertCell(3);
temp.rows.item(trlength -1).insertCell(4);
    temp.rows.item(trlength -1).insertCell(5);
temp.rows.item(trlength -1).insertCell(6);
temp.rows.item(trlength -1).insertCell(7);


  var sHTML0 = "<input name=\"\" type=\"text\" style=\"width:95px \" class=\"inputText\"  value=\"\" />";
      var sHTML1 = "<input name=\"\" type=\"text\" style=\"width:95px \" class=\"inputText\"  value=\"\" />";
  var sHTML2 = "<input name=\"name\" type=\"checkbox\" value=\"true\"/>true";
      var sHTML3 = "<input name=\"name\" type=\"checkbox\" value=\"true\"/>true";
      var sHTML4 = "<input name=\"name\" type=\"checkbox\" value=\"true\"/>true";
  var sHTML5 = "<input name=\"\" type=\"text\" class=\"inputText\" style=\"width:105px\"  value=\"\" />";
  var sHTML6 = "<input name=\"\" type=\"text\" class=\"inputText\" style=\"width:105px\"  value=\"\" />";
  var sHTML7 = "<span class=\"btnDel\"><a style=\"width:20px; cursor:hand;\" onclick=\"Delete(this.parentNode.parentNode.parentNode.rowIndex);\"><img src=\"../skins/common/icon_del.gif\" alt=\"删除\"/></a></span>";

    temp.rows.item(trlength-1).cells.item(0).innerHTML= sHTML0;
temp.rows.item(trlength-1).cells.item(1).innerHTML= sHTML1;
temp.rows.item(trlength-1).cells.item(2).innerHTML= sHTML2;
temp.rows.item(trlength-1).cells.item(3).innerHTML= sHTML3;
temp.rows.item(trlength-1).cells.item(4).innerHTML= sHTML4;
    temp.rows.item(trlength-1).cells.item(5).innerHTML= sHTML5;
temp.rows.item(trlength-1).cells.item(6).innerHTML= sHTML6;
temp.rows.item(trlength-1).cells.item(7).innerHTML= sHTML7;

}
function Delete(x)
{
var temp = document.getElementById("newOption");
/* if(confirm("确定删除?"))
{
/
temp.deleteRow(x);
/
}*/

}

*name *type *required readonly display defaultValue attrDesc 操作
true true true 删除

js操作,当然用jquery了,我建议楼主学一下jquery,dom操作不再变的复杂了,只需要选中要操作的列,调用不同的方法就ok了,新增,删除,复制行啊,等等该有的操作,应有尽有哦!还没接触过的话,可以赶紧的去接触下,是个好东西哦!