仅使用javascript删除多个选定的表行

时间:2012-08-23 22:40:10

标签: javascript

我想使用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!

1 个答案:

答案 0 :(得分:2)

Sort从较大元素到较低元素的数组。

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

然后从Biggest移到最小的。