У меня есть таблица с флажком «проверить все» в заголовке, который проверяет все флажки в этом столбце таблицы:
<input class="check-all" type="checkbox" id="masterCheck" />
Однако на одной из моих страниц я хотел бы автоматически проверитьcheck-all checkbox при загрузке страницы.
Для этого я попытался запустить функцию триггера («щелчка»), как показано ниже:
$(document).ready(function () {
if ($("#masterCheck").attr('checked')) {
} else {
$("#masterCheck").trigger('click');
}
});
Это проверяет флажок в порядке, но не запускает мое пользовательское событие click для флажков с классом .check-all (ниже):
$(function () {
$('.check-all').click(function () {
$(this).parents('table:eq(0)').find(':checkbox').attr('checked', this.checked);
});
});
Я также пытался добавить Javascript setTimeout, думая, чтопользовательская функция щелчка еще не загружалась, но она по-прежнему не запускала пользовательскую функцию щелчка через 1, 2 и 3 секунды.
После загрузки страницы я могу отменить проверкупредварительно установите флажок и повторно установите его, чтобы полностью проверить все флажки в столбце.
Нужно ли добавлять что-то особенное в мой jQuery в Document.ready, чтобы позволить ему запускать событие пользовательского щелчка?
*** EDIT1:
Хорошо, я попытался добавить пользовательское событие клика прямо над функцией document.ready на моей странице, чтобы убедиться, что оно загружено (как предыдущее пользовательское событие клика)находится в основном файле .js, используемом в моем _Layout).В дополнение к этому, я изменил класс своего флажка, чтобы он соответствовал моему новому пользовательскому событию клика, поэтому я не конфликтую с тем, что есть в моем основном файле .js.
<input class="check-allx" type="checkbox" id="masterCheck" />
// Check all checkboxes when the one in a table head is checked:
$(function () {
$('.check-allx').click(function () {
$(this).parents('table:eq(0)').find(':checkbox').attr('checked', this.checked);
alert(this);
});
});
// Check for unchecked masterCheck
$(document).ready(function () {
if ($("#masterCheck").attr('checked')) {
} else {
//$("#masterCheck").trigger('click');
$("#masterCheck").click();
}
});
Это, кажется,выдать мое предупреждение в пользовательском событии клика, которое является прогрессом, но безрезультатно все мои флажки проверяются, как и должны.Примечание: я также изменил триггер ('click') на .click (), что в моей ситуации делает то же самое.