Архив автора: gruz0

Как установить checked для checkbox через jQuery

Провозился несколько часов с тем, чтобы корректно установить checkbox в состояние checked.

На странице используется модальное окно из Twitter Bootstrap 2.3.2, думал дело может быть в нём. Прочитал несколько форумов, некоторые пишут о том, что менять свойства чекбоксов необходимо после вызова $(‘#modal).modal(‘show’), но мне кажется это полнейшим бредом. Любая задержка на стороне клиента и все эти перекликивания контрола будут заметны пользователю.

Рабочее решение для моего случая

Если надо корректно сбросить атрибут checked и снять флажок, использую код:

$('.checkbox').removeAttr('checked')

Если же надо «включить» чекбокс, тогда такой вариант:

$('.checkbox').prop('checked', 'checked')

Это самое рабочее решение в моём случае. Ни шаманство с prop/attr/checked результата не давали. Prop, например, устанавливает атрибут checked=»checked», но не переключает флажок у контрола. Attr работает через раз, то показывает флажок, то не показывает. А свойство checked вообще не работает по какой-то причине.