Динамически перемещать ячейку таблицы (вверх / вниз) -javascript - PullRequest
1 голос
/ 29 января 2010

Группа, У меня есть таблица, которая динамически создается с идентификаторами устройств. У меня есть «swapCell», который перемещает ячейки вверх и вниз, когда пользователь нажимает (вверх / вниз) кнопки. У меня есть функция удаления строки, которая удаляет текущую строку.

-Проблема: Если у меня шесть строк (1,2,3,4,5,6) и шесть идентификаторов (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)

-Но я бы хотел, чтобы "идентификаторы" совпадали с номером строки после удаления этой текущей строки.


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);
        }
    }
}

Ответы [ 2 ]

3 голосов
/ 29 января 2010

ID на основе индекса с чистым Javascript

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

идентификаторы на основе индекса с jQuery

function reIDRows() {
  $("tr").each(function(i,o){
    $(this).attr("id", i);
  });
}
0 голосов
/ 29 января 2010

Попробуйте перебрать данные и посчитать количество строк. Установите в каждом поле id подсчитанное число в цикле.

...