本菜鸟在做一个网上下单的东东,已经实现的功能是:可以动态添加行,删除行;自动计算金额。问题是:当我删除一行的时候(假设是要删除第n行),这一行连同后面所有的行都没有了。我就想,能不能在执行删除前把这一行后面所有的行赋给他前面的行,然后再删除最后一行。这样就可以解决问题了。即:tr[n].innerHTML=tr[n+1].innerHTML (瞎写的,只是为了表达这个意思)
tr[n+1].innerHTML=tr[n+2].innerHTML
.......
deleteRow(table.rows.length-1)我不知道这样可不可以,现在的问题是怎么实现tr[n].innerHTML=tr[n+1].innerHTML 先谢谢各位大虾们了
这个问题有没有其他更好的解决办法?
tr[n+1].innerHTML=tr[n+2].innerHTML
.......
deleteRow(table.rows.length-1)我不知道这样可不可以,现在的问题是怎么实现tr[n].innerHTML=tr[n+1].innerHTML 先谢谢各位大虾们了
这个问题有没有其他更好的解决办法?
<script language="javascript">
function del_tr(e){
var n=e.parentNode.parentNode.rowIndex;
var tle=document.getElementById("test");
tle.deleteRow(n);
}
</script>
<table width="372" border="1" id="test">
<tr>
<td width="271">1</td>
<td width="85"><div align="center" onclick="del_tr(this)">移除</div></td>
</tr>
<tr>
<td>2</td>
<td><div align="center" onclick="del_tr(this)">移除</div></td>
</tr>
<tr>
<td>3</td>
<td><div align="center" onclick="del_tr(this)">移除</div></td>
</tr>
<tr>
<td>4</td>
<td><div align="center" onclick="del_tr(this)">移除</div></td>
</tr>
<tr>
<td>5</td>
<td><div align="center" onclick="del_tr(this)">移除</div></td>
</tr>
</table>
function deleteRow() //删除指定的一行控件
{
var i = event.srcElement.parentElement.parentElement.rowIndex;
var tableOp = document.getElementById("table ID");
tableOp.deleteRow(i);
}
我是每行都动态加了一个删除
window.onload = function(){
var it = document.getElementById("tab1");
it.ondblclick =function delRow(e) //======动态删除行 支持Firefox,IE=======
{ var e = window.event||e,target= e.srcElement||e.target; while (target.tagName.toLowerCase() != "tr") {target = target.parentNode; }
var i = target.rowIndex;
if (target.tagName.toLowerCase()=="tr"&&i>1 && i!=it.rows.length-1) {it.deleteRow(i);calculate();}
}
}
谢谢大虾们;)