JQuery:
$(document).ready ( function ()
{
$('.parent').click(function () {
var set = false;
if ($(this).is(':checked'))
set = true;
$(this).parent().find('ul li').each( function () {
var Input = $(this).find('input');
Input.attr('checked', set);
});
});
$('span').click(function () {
if ($(this).text() == '-')
$(this).html('+');
else
$(this).html('-');
$(this).parent().find('ul li').each( function () {
$(this).slideToggle();
});
});
});
html:
<ul>
<li>
<span>-</span><input type="checkbox" value="a" class="parent" /> a
<ul>
<li><input type="checkbox" value="a1" /> a1</li>
<li><input type="checkbox" value="a2" /> a2</li>
</ul>
</li>
<li>
<span>-</span><input type="checkbox" value="b" class="parent" /> b
<ul>
<li><input type="checkbox" value="b1" /> b1</li>
<li><input type="checkbox" value="b2" /> b2</li>
</ul>
</li>
</ul>
乾杯
編集:折りたたみを追加しました。