jQuery « jQuery: не возможно вручную поставить статус checked

При варианте получения формы через загрузку (AJAX), не получается в ручную установить статус «checked».

Вот пример:
http://jsfiddle.net/4ztet/

Порядок действий:
1. Жмем кнопку «Create!»
2. Снимаем «галочку» с input-поля
3. Жмем кнопку «Check!», которая должна вернуть «галочку»

Причем, ни один из вариантов установки галочки обратно - не работает:
$('input:checkbox').attr('checked',true);
$('input:checkbox').attr('checked','checked');

Как быть?

1 ответов


Просто, надо использовать ->
Установить: .prop('checked', true);
Убрать: .prop('checked', false);


Вы создаёте элемент с установленным checked, и в функции пытаетесь установить его ещё раз (когда вы отжимаете его мышкой атрибут остаётся в DOM)

$.fn.toggleChecked = function(){
return this.each(function(){this.checked = !this.checked;
})}
$("input:checked").toggleChecked();

http://jsfiddle.net/4ztet/3/