Когда я нажимаю флажок, почему проверяемый атрибут не добавляется? Вы можете увидеть код здесь
http://jsfiddle.net/FCrSg/
Почему при нажатии на флажок не добавляется атрибут checked = 'checked'
Ответ 1
Что вы пытаетесь сделать? Выясните, проверено ли оно?
$('.user_roles').click(function(){
console.log( $(this).is(':checked'));
});
Ответ 2
Атрибут HTML checked
означает: проверяется по умолчанию, когда страница загружается. Это не изменится при щелчке по кнопке.
<input type="checkbox" checked="checked"> <!-- The HTML attribute -->
Свойство DOM checked
фактически является текущим состоянием флажка и является либо истинным, либо ложным. Это изменится при щелчке по галочке, но не отображается при проверке HTML.
$('input:check')[0].checked == true;
// Whether or not the checkbox is currently checked
Ответ 3
Если вы хотите увидеть его в элементе, отображаемом в консоли, используйте собственный метод setAttribute()
.
Пример: http://jsfiddle.net/FCrSg/2/
this.setAttribute('checked',this.checked);
Итак, это будет выглядеть так:
$('.user_roles').click(function(){
this.setAttribute('checked',this.checked);
console.log( $(this) );
});
Затем консоль должна предоставить вам:
<input class="user_roles" type="checkbox" checked="true">
Хотя обычно вам не нужен атрибут, подобный этому. Обычно свойство достаточно.