[Редактировать]: Реальная проблема заключается в возможности удалять элементы из базы данных при отправке формы, а не удалять строки из таблицы HTML.См. «Простой пример обработки форм» на этой странице Учебное пособие по отправке форм в Django. [/ Edit]
Вот пример, который вы можете скопировать в файл .html на вашем компьютере иоткрыть в веб-браузере.Он использует простой JavaScript.Для чего-то подобного я предпочитаю использовать jQuery , но в зависимости от вашего использования это может быть больше, чем вы предпочитаете.Однако, если вам нужно выполнить множество программ на стороне клиента, я настоятельно рекомендую использовать jQuery.
Примечание: я думаю, что это немного грязно с использованием parentNode.parentNode.parentNode, но в этом примере нарочно используется таблица /Флажок конфигурации, как указано в исходном посте.
Предпочтительно, я бы назначил идентификаторы для строк таблицы, которые коррелируют с каждым флажком, чтобы к ним было проще получить доступ.
Я также включил <input type="button">
, потому что он был запрошен в оригинальном сообщении.Возможно, вы захотите назначить событие onclick=
каждому флажку, чтобы пользователь мог удалить элементы, как только они были нажаты.Но это предпочтение.
<html>
<head>
<script>
function hideCheckedRows() {
var checkboxes = document.getElementsByName("item");
var checkboxes_to_remove = new Array();
var count = 0;
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked == true) {
checkboxes_to_remove[count++] = checkboxes[i];
}
}
for (var i = 0; i < checkboxes_to_remove.length; i++) {
cbx = checkboxes_to_remove[i];
// parentNode.parentNode.parentNode is the <tr>
// parentNode.parentNode is the <td> containing the checkbox
cbx.parentNode.parentNode.parentNode.removeChild(
cbx.parentNode.parentNode);
}
}
</script>
</head>
<body>
<table>
<tr name="table_row">
<td><input type="checkbox" name="item" value="Check1"></td>
<td>Id1</td><td>Alt_Id1</td><td>Title1</td>
<td>Type1</td><td>Format1</td>
</tr>
<tr name="table_row">
<td><input type="checkbox" name="item" value="Check2"></td>
<td>Id2</td><td>Alt_Id2</td><td>Title2</td>
<td>Type2</td><td>Format2</td>
</tr>
<tr name="table_row">
<td><input type="checkbox" name="item" value="Check3"></td>
<td>Id3</td><td>Alt_Id3</td><td>Title3</td>
<td>Type3</td><td>Format3</td>
</tr>
</table>
<input type="button" value="Click to remove checkboxes!"
onclick="hideCheckedRows();"/>
</body>
</html>
Редактировать:
Если вы хотите удалить элемент из базы данных, нам нужна дополнительная информация.Нам нужно знать, какая база данных используется и как выглядит код на стороне сервера, который обрабатывает «POST» кнопки отправки.В этом примере будет удален флажок из таблицы в веб-браузере пользователя, но он никак не повлияет на базу данных.