如何在Javascript中删除一行?
我已经在Javascript中动态添加/删除行,添加行没有问题,只是删除行有问题。 现在,我所做的是,当我想删除一行时,它总是删除最后一行,因此我认为如何在Javascript中删除一行?,javascript,row,Javascript,Row,我已经在Javascript中动态添加/删除行,添加行没有问题,只是删除行有问题。 现在,我所做的是,当我想删除一行时,它总是删除最后一行,因此我认为我只想删除选中的行,而我不知道如何将脚本修改为我想要的 以下是脚本: var i=0; function addRow() { i++; m.r.value = i; var tbl = document.getElementById('table'); var lastRow = tbl.rows.length; var ite
我只想删除选中的行,而我不知道如何将脚本修改为我想要的
以下是脚本:
var i=0;
function addRow()
{
i++;
m.r.value = i;
var tbl = document.getElementById('table');
var lastRow = tbl.rows.length;
var iteration = lastRow - 1;
var row = tbl.insertRow(lastRow);
var cellLeft = row.insertCell(0);
var textNode = document.createTextNode(iteration);
cellLeft.appendChild(textNode);
var cellRightSel1 = row.insertCell(1);
var sel = document.createElement('select');
sel.name = 'name' + iteration;
sel.setAttribute("onchange", "choosec(this);");
var item = new Option("","");
sel.options[sel.length] = item;
<?
while($data = mysql_fetch_array($result)){
?>
var item = new Option("<?=$data["Name"];?>","<?=$data["ID"];?>");
sel.options[sel.length] = item;
<? } ?>
cellRightSel1.appendChild(sel);
var cellRightSel2 = row.insertCell(2);
var sel = document.createElement('select');
sel.name = 'class' + iteration;
sel.setAttribute("onchange", "choosepoint(this);");
var item = new Option ("","");
sel.options[sel.length] = item;
<?
while($data = mysql_fetch_array($result_sub)){
?>
var item = new Option("<?=$data["Class"];?>","<?=$data["ID"];?>");
sel.options[sel.length] = item;
<? } ?>
cellRightSel2.appendChild(sel);
var cellRight = row.insertCell(3);
var div = document.createElement('div');
div.id = 'point' + iteration;
cellRight.appendChild(div);
}
function removeRow(){
var tbl = document.getElementById('table');
var lastRow = tbl.rows.length;
var rem = lastRow - 1;
if (lastRow > 2) tbl.deleteRow(rem);
}
这是需要更改的代码:
var rem = lastRow - 1;
现在,这永远是最后一排。您可以围绕它构建一些逻辑来传递索引,或者查找字符串,或者其他任何内容,但是tbl.deleteRow()需要在特定索引处删除
如果要删除第三行,例如:
var rem = 2; //zero-based index
这是需要更改的代码:
var rem = lastRow - 1;
现在,这永远是最后一排。您可以围绕它构建一些逻辑来传递索引,或者查找字符串,或者其他任何内容,但是tbl.deleteRow()需要在特定索引处删除
如果要删除第三行,例如:
var rem = 2; //zero-based index
像这样试试
<tr onclick="removeRow(this);">...</tr>
我发现一个很好的例子适合你的要求像这样试试
<tr onclick="removeRow(this);">...</tr>
我发现一个很好的例子适合你的要求名为i
的全局var?内联事件处理程序?您考虑过使用jQuery吗?(实际上,在像Raynos这样的人抱怨建议使用jQuery之前,您也可以在没有jQuery的情况下改进这一点——但为什么要编写比Enessary更多的代码呢)一个名为i
的全局变量?内联事件处理程序?您考虑过使用jQuery吗?(实际上,在像Raynos这样的人抱怨建议使用jQuery之前,你也可以在没有jQuery的情况下改进这一点——但为什么要编写比Enessary更多的代码)谢谢rajkumar先生,我已经解决了问题:)谢谢rajkumar先生,我已经解决了问题:)