checkbox: флажок = «проверен», но он не работает на странице

0

Я работаю над проектом, и у меня возникла проблема с флажком. Это функция подписки на почту, которая проверяет/снимает все подписчики с помощью флажка.

Код 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 ", но он не проверяется на странице.

Как я могу сделать?

Теги:
checkbox

1 ответ

1
Лучший ответ

используйте.prop() вместо.attr()

$(".extra .select_subscribers .everyone").delegate "input[type='checkbox']", "click", ->
    $(".select_subscribers.panel_for_selection input[type='checkbox']").prop("checked", this.checked) 
  • 0
    jsfiddle с решением: jsfiddle.net/p5UtT
  • 0
    Оно работает! Большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню