s如何动态新增、删除表格的指定行
问题描述:
如图片所示,点击“继续添加”可以在表格里新增一行;点击“删除”可以删除选中的行。希望熟悉JS的能给个可运行的示例,谢谢!!
[b]问题补充:[/b]
自己解决了。由于分数只能给一个人,就给第一个回答的了
动态操作表的行
选择 | 内容 |
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了,新增,删除,复制行啊,等等该有的操作,应有尽有哦!还没接触过的话,可以赶紧的去接触下,是个好东西哦!