У меня есть много флажков на моей странице, и есть флажок выбрать все, который проверяет все флажки. Каким-то образом я хочу эмулировать это событие нажатия флажка, даже если он отмечен/снят с помощью кнопки "Выбрать все". Как я могу это сделать?
Как вызвать событие щелчка флажка, даже если он проверен с помощью кода Javascript?
Ответ 1
Вы можете использовать метод jQuery .trigger()
. См. http://api.jquery.com/trigger/
например:.
$('#foo').trigger('click');
Ответ 2
Получение статуса проверки
var checked = $("#selectall").is(":checked");
Тогда для установки
$("input:checkbox").attr("checked",checked);
Ответ 3
Вы можете также использовать функцию .change()
например:.
$('form input[type=checkbox]').change(function() { console.log('hello') });
Ответ 4
no gQuery
document.getElementById( 'your_box') OnClick();.
Я использовал определенный класс на своих флажках.
var x = document.getElementsByClassName("box_class");
var i;
for (i = 0; i < x.length; i++) {
if(x[i].checked) x[i].checked = false;
else x[i].checked = true;
x[i].onclick();
}
Ответ 5
Функция триггера из jQuery может быть вашим ответом.
jQuery docs говорит: Любые обработчики событий, связанные с .on() или одним из его методов быстрого вызова, запускаются, когда происходит соответствующее событие. Однако их можно запускать вручную, используя метод .trigger(). Вызов для .trigger() выполняет обработчики в том же порядке, в каком они были бы, если бы событие было вызвано пользователем пользователем
Таким образом, наилучшим решением для одной строки должно быть:
$('.selector_class').trigger('click');
//or
$('#foo').click();
Ответ 6
Вы также можете использовать это, я надеюсь, что вы можете служить им.
$(function(){
$('#elements input[type="checkbox"]').prop("checked", true).trigger("change");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div id="elements">
<input type="checkbox" id="item-1" value="1"> Item 1 <br />
<input type="checkbox" id="item-2" value="2" disabled> Item 2 <br />
<input type="checkbox" id="item-3" value="3" disabled> Item 3 <br />
<input type="checkbox" id="item-4" value="4" disabled> Item 4 <br />
<input type="checkbox" id="item-5" value="5"> Item 5
</div>
Ответ 7
$("#gst_show>input").change(function(){
var checked = $(this).is(":checked");
if($("#gst_show>input:checkbox").attr("checked",checked)){
alert('Checked Successfully');
}
});