На моем сайте есть экземпляр виджета множественного выбора Эрика Хайнда.
В обработчике кликов у меня есть предупреждение о том, сколько флажков выбрано.
alert($(this).multiselect("getChecked").length
Предположим, виджет запускается без отмеченных флажков. Если я отмечу один из них, предупреждение выдаст мне «1», что означает, что флажок уже установлен, когда обработчик щелчка нажат.
Теперь скажем, что вместо того, чтобы явно щелкнуть, я делаю то, что предлагает Эрик Хайндс, чтобы имитировать щелчок.
$("select").multiselect("widget").find(":checkbox:eq(2)").trigger("click");
(Я установил здесь флажок со значением 2 только для демонстрационных целей.) Предупреждение здесь дает мне 0.
Я не смог понять, почему существует это несоответствие и вызывающие проблемы, когда я пытаюсь ограничить количество флажков, которые может выбрать пользователь. Они могут устанавливать флажки, не только нажимая на них, но и нажимая что-то за пределами виджета, поэтому мне приходится имитировать щелчки по настоящим флажкам.
Любая помощь приветствуется, спасибо!
:checkbox:eq(2)
не устанавливает флажок со значением 2, он устанавливает третий флажок в массиве совпадающих элементов: api .jquery.com/eq-selector - person Andrew Whitaker   schedule 23.12.2010