У меня есть следующее:
$(document).ready(function()
{
$("#select-all-teammembers").click(function() {
$("input[name=recipients\\[\\]]").attr('checked', true);
});
});
Я хотел бы, чтобы id="select-all-teammembers"
при нажатии переключался между проверенным и непроверенным. Идеи? это не десятки строк кода?
jquery
checkbox
jquery-selectors
toggle
AnApprentice
источник
источник
$('input[type=checkbox]').trigger('click');
упомянутое @ 2astalavista ниже является более кратким и также вызывает событие «изменения».источник
Я знаю, что это старо, но вопрос был немного двусмысленным в том, что переключение может означать, что каждый флажок должен переключать свое состояние, что бы это ни было. Если вы отметили 3 и 2 не отмечены, переключение сделает первые 3 не проверенными, а последние 2 проверенными.
Для этого ни одно из решений здесь не работает, поскольку они заставляют все флажки иметь одинаковое состояние, а не переключать состояние каждого флажка. Выполнение
$(':checkbox').prop('checked')
многих флажков возвращает логическое И между всеми.checked
двоичными свойствами, т. Е. Если одно из них не проверено, возвращается значениеfalse
.Вам нужно использовать,
.each()
если вы хотите фактически переключать каждое состояние флажка, а не делать их все равными, напримерОбратите внимание, что вам не нужно
$(this)
внутри обработчика, так как.checked
свойство существует во всех браузерах.источник
Вот еще один способ, который вы хотите.
источник
Я думаю, что проще просто вызвать клик:
источник
Лучший способ, который я могу придумать.
или
или
источник
Начиная с jQuery 1.6 вы можете использовать,
.prop(function)
чтобы переключать проверенное состояние каждого найденного элемента:источник
Используйте этот плагин:
затем
источник
Предполагая, что это изображение, которое должно переключаться флажок, это работает для меня
источник
Check-all checkbox должен обновляться сам при определенных условиях. Попробуйте нажать на «# select-all-teammembers», затем уберите галочку с нескольких пунктов и снова нажмите «select-all». Вы можете увидеть несоответствие. Чтобы предотвратить это, используйте следующий трюк:
Кстати, все флажки DOM-объекта должны быть кэшированы, как описано выше.
источник
Вот способ jQuery для переключения флажков без необходимости устанавливать флажок с html5 & ярлыками:
http://www.bootply.com/A4h6kAPshx
источник
если вы хотите переключать каждый блок отдельно (или только один блок работает так же хорошо):
Я рекомендую использовать .each (), так как его легко изменить, если вы хотите, чтобы происходили разные вещи, и все же он относительно короткий и легко читаемый.
например:
на заметку ... не знаю, почему все используют .attr () или .prop (), чтобы (не) проверять вещи.
насколько я знаю, element.checked всегда работал одинаково во всех браузерах?
источник
;)
источник
Вы можете написать так же
Просто нужно вызвать событие нажатия флажка, когда пользователь нажимает кнопку с идентификатором «# checkbox-toggle».
источник
Лучший подход и UX
источник
Пытаться:
источник
Этот работает очень хорошо для меня.
источник
!
знак перед этим ..Самый простой пример будет:
источник
просто вы можете использовать это
источник
На мой взгляд, самый правильный человек, предложивший нормальный вариант - это GigolNet Gigolashvili, но я хочу предложить еще более красивый вариант. Проверь это
источник
Установка 'флажка' или нуля вместо истины или ложи соответственно сделает работу.
источник
Этот код будет переключать флажок при нажатии любого аниматора переключателя, используемого в веб-шаблонах. Замените ".onoffswitch-label" как доступный в вашем коде. «checkboxID» - это флажок, установленный здесь.
источник
Ну есть более простой способ
Сначала дайте вашим флажкам пример класса 'id_chk'
Затем внутри чекбокса, который будет контролировать состояние чекбоксов 'id_chk', положите:
<input type='checkbox' onchange='js:jQuery(".id_chk").prop("checked", jQuery(this).prop("checked"))' />
Вот и все, надеюсь, это поможет
источник