Я работаю над проектом, и у меня возникла проблема с флажком. Это функция подписки на почту, которая проверяет/снимает все подписчики с помощью флажка.
Код html выглядит так:
<div class="select_subscribers">
<div class="everyone">
<label>
<input id="select_all_subscribers" name="select_all_subscribers" type="checkbox">
<strong>Everyone</strong>
</label>
</div>
<div class="select_subscribers panel_for_selection">
<label>
<input id="subscriber_ids_" name="mail[subscriber_ids][]" type="checkbox" value="3">
John
</label>
<label>
<input id="subscriber_ids_" name="mail[subscriber_ids][]" type="checkbox" value="2">
Peter
</label>
</div>
</div>
Код javascript:
$(".extra .select_subscribers .everyone").delegate "input[type='checkbox']", "click", ->
$(".select_subscribers.panel_for_selection input[type='checkbox']").attr("checked", this.checked)
В первый раз, когда он работает, установите флажок, затем он больше не работает. Когда флажок "select_all_subscribers" установлен, флажок подписчика имеет атрибут "checked =" checked ", но он не проверяется на странице.
Как я могу сделать?
используйте.prop() вместо.attr()
$(".extra .select_subscribers .everyone").delegate "input[type='checkbox']", "click", ->
$(".select_subscribers.panel_for_selection input[type='checkbox']").prop("checked", this.checked)