私はこのようなコードを持っています:
<ul>
<li><input type="checkbox" level="child" name="somename1" value="1" /> Child 1</li>
<li><input type="checkbox" level="child" name="somename2" value="2" /> Child 2 <br />
<ul>
<li><input type="checkbox" level="subchild" name="somename1" value="3" />Sub Child 1</li>
<li><input type="checkbox" level="subchild" name="somename2" value="3" />Sub Child 2</li>
</ul>
</li>
<li ><input type="checkbox" level="child" name="somename3" value="3" /> Child 3</li>
</ul>
およびjqueryコード:
$('input[@type=checkbox][level="child"]').click(function (event) {
var checked = $(this).is(':checked');
if (checked) {
alert("checked");
} else { //for click child to uncheck subchild
alert("when unchecked");
$(this).closest('ul > li').children('input[@type=checkbox][level="subchild"]').attr('checked', false);
}
});
状況: child 2 + subchild1 + subchild2 がチェックされます
問題:子 2 のチェックを外すをクリックしたときに subchild1 + subchild2 のチェックを外したいのですが、上記のコードが機能しません。私はそれが何か関係があると思います:
$(this).closest('ul > li').children('input[@type=checkbox [level="subchild"]').attr('checked', false);
どんな助けでも素晴らしいでしょう。ここに JSfiddle があります: http://jsfiddle.net/p324w/