Javascript удаляет строку над строкой, которую нужно удалить - PullRequest
0 голосов
/ 01 марта 2012

Я пишу простую программу для удаления строк таблицы одним нажатием кнопки. Но код всегда удаляет строку над строкой, которую нужно удалить. Пожалуйста, помогите.

Вот код:

JAVASCRIPT:

function deleteRow(){

    var rows = document.getElementsByName("chkBox");
    alert('rows: '+rows.length);
    for(var row=0;row<rows.length;row++){

        //alert("element id is"+rows[row].id);
        var rowToDelete = rows[row];
        var toBeDelete = rowToDelete.checked;
        //alert("element value is: "+toBeDelete);
        if(toBeDelete == true){
        alert("row id is: "+rowToDelete.parentNode.parentNode.id);
        document.getElementById("myTable").deleteRow(rowToDelete.parentNode.parentNode);
        }
    }
}

HTML:

<table id="myTable" border="1">
<tr id="1">
  <td>Row 1</td>
  <td><input type="checkbox" name="chkBox" id="chkBox_1"/></td>
</tr>
<tr id="2">
  <td>Row 2</td>
  <td><input type="checkbox" name="chkBox" id="chkBox_2"/></td>
</tr>
<tr id="3">
  <td>Row 3</td>
  <td><input type="checkbox" name="chkBox" id="chkBox_3"/></td>
</tr>
</table>
<button value="Delete" name="Delete" onClick="deleteRow()">Delete</Button>

Fiddle

1 Ответ

2 голосов
/ 01 марта 2012

вам нужно передать индекс в deleteRow. deleteRow - MDN

Я думаю, что ваша строка должна быть такой:

   document.getElementById("myTable").deleteRow(row);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...