在jquery中取消选中所有子项时,取消选中父复选框

参考上一个问题:

子选择(检查)在Jquery中具有指定标记的复选框

和相关的小提琴: http : //jsfiddle.net/YSSps/11/

$(document).ready(function(){ $checkboxes = $("span.indenter:empty").parent().prev().children().children(); $checkboxes.click(function(){ var $t = $(this); var checked = $t.is(':checked'); var $tr = $t.parent().parent().parent(); do { $tr = $tr.next(); if(!$tr.length) return; var child = !$tr.children(":nth-child(2)").children("span").is(":empty"); if( child ) $tr.children(":nth-child(1)").children().children().prop('checked',checked); } while(child); }); $children = $("span.indenter").parent().prev().children().children(); $children.click(function() { if($children.parent().parent().next().children().text() == '-- ') alert('it is a children'); }); }); 

我想有以下行为:

如果取消选中最后一个子项以取消选中父项,则用户只能在检查父项时检查子项,而不能仅检查父项。