0

我想使用javascript删除表中选定的行,但问题是一旦删除了一行,索引就会改变。

这个问题很混乱,因为只有特定的行包含复选框,并且可以添加更多的复选框。

我已经可以使用javascript获得我希望在数组内部删除的所有正确行索引,但是然后我将如何在不打错行且不使用原型或jquery的情况下删除行。纯粹的javascript?

任何帮助是极大的赞赏。

 <table class="example_table" id="mytable">
    <tbody>
          <tr>
                <td><input type="text" id="top row" /></td>
          </tr>

          <tr>
                <td><input type="button" onclick="addNewCheckboxRow()" /></td> 
          </tr>

          <tr>
                <td><input type="button" /></td> 
          </tr>

          <tr>
                <td><input type="checkbox" value="1" id="check1" /></td>  //row that may be deleted
          </tr>

          <tr>
                <td><input type="checkbox" value="2" id="check2" /></td>  //row that may be deleted
          </tr>

          <tr>
                <td><input type="checkbox" value="3" id="check3" /></td>  //row that may be deleted
          </tr>
          <tr>
                <td><input type="checkbox" value="4" id="check4" /></td>  //row that may be deleted
          </tr>   

          <tr>
                <td><input type="button" /></td> 7
          </tr>
        </tbody>
    </table>

我目前的做法。不准确,但你可以得到漂移。

var myrow=["6","7"];

document.getElementById("mytable").deleteRow(myrow[0]); //deletes row 6

document.getElementById("mytable").deleteRow(myrow[1]); //deletes row 7 But
                                                        //the index has changed!

//what happens when after the delete more rows are added!
4

1 回答 1

2

将您的数组从大到小元素排序。

function compareNumbers(a, b)
{
  return b - a;
}

然后从最大到最小。

于 2012-08-23T22:43:55.480 回答