#javascript #jquery
Вопрос:
Когда у меня будет этот код:
$('input[type="checkbox"]').click(function(){
alert('2');
})
Это отлично работает, каждый раз, когда я нажимаю на флажок, я получаю предупреждение.
$('input[type="checkbox"]').click(function(){
alert('2');
$("#fresh-table").bootstrapTable("refreshOptions", {
detailView: false,
});
})
Когда я добавляю следующее, это тоже отлично работает, но предупреждение срабатывает только один раз.
Как мне это исправить?
Редактировать
Использовал функцию onColomnSwitch для запуска события несколько раз. Исправлено, tnx!
Комментарии:
1. Будет ли флажок удален и добавлен обратно, например, путем установки какого-либо элемента с новым html? Если это так, вам нужно будет каждый раз заново настраивать прослушиватель событий или использовать делегированный прослушиватель событий
2. Этого я на самом деле не знаю, это часть таблицы начальной загрузки, но я так не думаю. события просто перестают выдавать предупреждение.
Ответ №1:
Пожалуйста, убедитесь, что вы включили файл js для «начальной загрузки» или нет. Если он не включен, то в консоли отобразится ошибка.
Я проверил код, и он работает на меня. Вы можете попробовать этот код :
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://unpkg.com/bootstrap-table@1.18.3/dist/bootstrap-table.min.js"></script>
<script>
$(document).ready(function(){
$('input[type="checkbox"]').click(function(){
alert('2');
$("#fresh-table").bootstrapTable("refreshOptions", {
detailView: false,
});
})
});
</script>
</head>
<body>
<input type="checkbox" name="test_cb" id="test_cb"> <label for="test_cb">Test Checkbox</label>
<table border="1px solid black" id="#fresh-table">
<tr><th>Name</th><td>Lorem Ipsum</td></tr>
<tr><th>Email</th><td>example@gmail.com</td></tr>
</table>
</body>
</html>
Комментарии:
1. Tnx за помощь, но это работает только один раз… Каждый флажок, который я нажимаю после этого, не выдает предупреждение. Я отказался от этого, теперь я использую функцию onColomnSwitch, которая срабатывает каждый раз, когда я нажимаю флажок.