Как вызвать событие щелчка флажка, даже если он проверен через код JavaScript - PullRequest
67 голосов
/ 24 января 2011

У меня много флажков на моей странице, и есть флажок выбрать все, который проверяет все флажки. Каким-то образом я хочу эмулировать это событие нажатия флажка, даже если он отмечен / снят с помощью кнопки «Выбрать все». Как я могу это сделать?

Ответы [ 5 ]

98 голосов
/ 24 января 2011

Вы можете использовать метод jQuery .trigger().См http://api.jquery.com/trigger/

Например:

$('#foo').trigger('click');
14 голосов
/ 24 января 2011

Получение статуса проверки

var checked = $("#selectall").is(":checked");

Затем для настройки

$("input:checkbox").attr("checked",checked);
8 голосов
/ 24 октября 2012

Вы также можете использовать .change() функцию

Например:

$('form input[type=checkbox]').change(function() { console.log('hello') });
5 голосов
/ 21 апреля 2015

нет 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();
   }
3 голосов
/ 07 декабря 2015

Функция триггера из jQuery может быть вашим ответом.

Документация jQuery говорит: Любые обработчики событий, связанные с .on () или одним из его ярлыков, запускаются, когдапроисходит соответствующее событие.Однако их можно запустить вручную с помощью метода .trigger ().Вызов .trigger () выполняет обработчики в том же порядке, в каком они были бы, если бы пользователь естественным образом инициировал событие

Таким образом, наилучшее решение в одну строку должно быть:

$('.selector_class').trigger('click');

//or

$('#foo').click();
...