求教个问题,现在我一个页面写了个动态增加行的JSfunction build_Row()
{
row_index++; 
var new_row=Table1.insertRow(Table1.rows.length); 
    new_row.setAttribute("id", "row"+row_index);   
    var new_col=new_row.insertCell(0); 
    new_col.innerHTML="<input type='checkbox' name='optid' style='width:20px' value='"+row_index+"'>"; 
    var new_col=new_row.insertCell(1); 
    new_col.innerHTML="<input type='text' name='name"+row_index+"' id='name"+row_index+"' style='width:350px'><font color='red'>*</font>"; 
    var new_col=new_row.insertCell(2); 
    new_col.innerHTML="<input type='text' name='account"+row_index+"' id='account"+row_index+"' onblur='flatAmountCount()' style='width:190px' ><font color='red'>*</font>"; 
    var new_col=new_row.insertCell(3); 
    new_col.innerHTML="<input type='text' name='flatRatio"+row_index+"' id='flatRatio"+row_index+"' style='width:190px' readonly='readonly'><font color='red'>*</font>"; 
    var new_col=new_row.insertCell(4); 
    new_col.innerHTML="<input type='hidden' name='flatId"+row_index+"' id='flatId"+row_index+"' >";
    var new_col=new_row.insertCell(5); 
    new_col.innerHTML="<input type='hidden' name='insertId'  value='"+row_index+"'>";  
}
现在我还想增加一个删除按钮,我在每行前面+了个checkbox,删除按钮达到的效果就是,我复选框内选择的用JS全部在页面上删掉。function delete_Row()
{
var mycars = document.getElementsByName("optid");
for(var i = mycars.length-1 ;i>=0;i--){

if(mycars[i].checked){
var rowId = mycars[i].value;
Table1.deleteRow(rowId); 
}
}}
问题就是,我现在传的是行的下标来删除,第1次删除没问题,但是第2次在进行删除的时候,因为页面没刷新,但是行<td>已经改变了,这时候我删行就出问题了,有高手以前遇到过这问题吗,告诉我一下解决的方法。谢谢

解决方案 »

  1.   

    因为页面没刷新,但是行<td>已经改变了
    先获取td的行号把...你在 if(mycars[i].checked){
    var rowId = mycars[i].value;checkbox的value设置的行号....试试根据checkbox获取checkbox所在行的行号.....应该可以把
      

  2.   

    恩,刚试了下,JS增加的用rowIndex可以获取<td>行号,但还有个问题,我之前存的数据也需要回显,但回显过来的数据用rowIndex无法获取,JS增加行获取行号靠的是不是 “new_row.setAttribute("id", "row"+row_index);  ”代码?那我现在回显的数据改怎么获得行号呢? 
      

  3.   

    建议给每个tr加个id,后面所有操作根据此Id来进行,就不会错了
      

  4.   

    回显的数据怎么给tr+id呢?是不是<tr id="row"+row_index>....</tr>