2012-08-02 2 views
0

테이블에서 행을 삭제하는 데 문제가 있습니다. 삭제를 성공적으로 마쳤지 만 재사용하면 삭제 된 항목이 테이블 상단에 다시 나타납니다. 어떻게 든 완전히 삭제되지 않은 것 같습니다. 나는 javascript/html과 많이 관련이 없으므로 이유를 알 수 없다. 모든 통찰력은 높이 평가됩니다!삭제 된 행이 계속 돌아옵니다.

function deleteRow(toDelete) { 
     var table = document.getElementById("Table"); 
     var i = 0; 
     alert(table.rows.length + "todelete=" + toDelete); 
     for (i = 0; i < table.rows.length; i++) { 
      if (table.rows[i].cells[4].innerText == toDelete) { 
       alert('Deleting Row' + i); 
       table.deleteRow(i); 
       i--; 
      } 
     } 
     ReSortTable('Table'); 
    } 
+2

작동해야합니다. 'ReSortTable' 코드를 보여주세요 !!! – Bergi

+0

jsFiddle을 제공하십시오. – LmC

답변

1

나는이 문제 [코멘트 너무 많은 코드]를 해결할 생각하지만, 대신 당신은 반대 방향으로, 루프를 행을 삭제할 때 하나를 뺀하지 않습니다.

function deleteRow(toDelete) { 
    var table = document.getElementById("Table"); 
    var i; 
    alert(table.rows.length + "todelete=" + toDelete); 
    for (i = table.rows.length-1; i >= 0 ; i--) { 
     if (table.rows[i].cells[4].innerText == toDelete) { 
      alert('Deleting Row' + i); 
      table.deleteRow(i);     
     } 
    } 
    ReSortTable('Table'); 
} 
관련 문제