私はtreeviewの自動チェックボックスに助けが必要です。jQueryはチェックボックスをチェックしません
私はツリービューを持っています。チェックボックスをクリックすると、リスト内のすべての子アイテムにチェックボックスが自動的にチェックされます。問題はそれが機能しないことです。
treeview.find('input[type=checkbox]').each(function() {
$j(this).click(function() {
if ($j(this).is(':checked')) {
$j(this).siblings('ul').find('input[type=checkbox]').attr('checked', 'checked');
} else {
$j(this).siblings('ul').find('input[type=checkbox]').removeAttr('checked');
}
});
});
コードでは、すべてのチェックボックスを見つけて、それぞれのクリックイベントをバインドします。アイテムがクリックされると、それはチェックされているかどうかをチェックし、すべてのチェックボックスを見つけて属性をチェックするように設定します。チェックボックスをすべて見つけてチェック属性を削除します。私のセレクタは問題なく動作します。
チェックボックスをクリックすると、すべてのチェックボックスがオンになり、チェックを外すとまだ機能しています。しかし、別の試行では、もう動作しません!それは非常に奇妙です!そして、私がコードを調べると、チェックボックスにはchecked="checked"
があるが、ブラウザーはチェックされた状態をレンダリングしないことがわかります(実際はこれが主な問題です)。
'.attr()'の代わりに '.prop()'を試してみてください。 –