チェックボックスをクリックすると、チェックされた属性が追加されないのはなぜですか?ここでコードを見ることができます http://jsfiddle.net/FCrSg/
あなたは何をしようとしているのですか?チェックされているかどうか調べますか?
$('.user_roles').click(function(){
console.log( $(this).is(':checked'));
});
HTML属性checked
は、ページの読み込み時にデフォルトでチェックされることを意味します。このは、チェックボックスがクリックされても変更されません。
<input type="checkbox" checked="checked"> <!-- The HTML attribute -->
DOMプロパティchecked
は実際にはチェックボックスの現在の状態であり、true/falseのいずれかです。このwillは、チェックボックスがクリックされると変更されますが、HTMLを検査すると表示されません。
$('input:check')[0].checked == true;
// Whether or not the checkbox is currently checked
コンソールに表示される要素に表示されるようにする場合は、ネイティブ 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">
通常、そのような属性セットは必要ありませんが。通常、プロパティで十分です。