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 に答える