SO - 4600422
by Arun P Johny
HTML
<ul>
<li><input type="checkbox" name="items[]" value="88712003" id="88712003" /> Parent 1</li>
<li><input type="checkbox" name="items[]" value="88712003" id="88712003" /> Parent 2
<ul>
<li><input type="checkbox" name="items[]" value="21312341" id="21312341" /> Child 1</li>
<li><input type="checkbox" name="items[]" value="21312341" id="21312341" /> Child 2</li>
</ul>
</li>
<li><input type="checkbox" name="items[]" value="88712003" id="88712003" /> Parent 3</li>
<li><input type="checkbox" name="items[]" value="88712003" id="88712003" /> Parent 4</li>
</ul>
JavaScript
$("input:checkbox + ul input:checkbox").click(function(){
var $ul = $(this).closest("ul");
var $parent = $ul.prev("input:checkbox");
if($ul.find("input:checkbox:checked").length > 0){
$parent.attr("checked", "checked");
}else{
$parent.attr("checked", "");
}
})