参考上一个问题:
Sub selecting (checking) checkboxes that have a specified tag in 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');
});
});
我希望有以下行为:
如果取消选中最后一个子项以取消选中父级,则用户只能在选中父级时检查子级,而不能仅检查父级。