1

グループ、デバイス ID で動的に構築されるテーブルがあります。ユーザーが(上/下)ボタンをクリックするとセルを上下に移動する「swapCell」があります。現在の行を削除する行削除機能があります。

-問題: 6 つの行 (1,2,3,4,5,6) と 6 つの ID (id=row1,id=row2,id=row3,id=row4,id=row5,id=row6) がある場合

-「行 2 と行 4」を削除します。新しい行 (1,2,3,4) と新しい行 (id=row1,id=row3,id=row5,id=row6) があります。

-しかし、現在の行を削除した後、「id」を行番号と同じにしたいと思います。


function swapcells(idA,idB){
    var cellA=document.getElementById('cell'+idA); 
    var cellB=document.getElementById('cell'+idB); 
    if(cellA&&cellB){ 
        var temp=cellA.innerHTML; 
        cellA.innerHTML=cellB.innerHTML; 
        cellB.innerHTML=temp; 
    }
}  
function deleteRows(rowObjArray){
    if (hasLoaded) {
        for (var i=0; i<rowObjArray.length; i++) {
            var rIndex = rowObjArray[i].sectionRowIndex;
            rowObjArray[i].parentNode.deleteRow(rIndex);
        }
    }
}
4

2 に答える 2

3

純粋な Javascript を使用した Index に基づく ID

function reIDRows() {
  var rows = document.getElementById("myTable").getElementsByTagName("tr");
  for (var i = 0; i < rows.length; i++) {
    rows[i].id = i;
  }
}

ID は jQuery を使用した Index に基づいています

function reIDRows() {
  $("tr").each(function(i,o){
    $(this).attr("id", i);
  });
}
于 2010-01-29T16:42:48.690 に答える
0

データテーブルをループして、行数を数えてみてください。各 id フィールドをループ内のカウントされた行番号に設定します。

于 2010-01-29T16:43:38.690 に答える