checkbox的全選跟全取消

這是js的部份

function checkall(num,maj)
{
var tag = 'dep[' + num +'][]';
var switch_checked = maj.checked;
var len = document.exp_form.elements.length;
for (var i = 0; i < len; i++)
{
if (document.exp_form.elements[i].name == tag)
document.exp_form.elements[i].checked = switch_checked;
}
}

這是html的部份

<form action="#" name="exp_form" method="post">
<input type="checkbox" name="depall0" onclick="checkall(0,this);">全選a<br />
<input name="dep[0][]" type="checkbox" value="a1">a1
<input name="dep[0][]" type="checkbox" value="a2">a2
<input name="dep[0][]" type="checkbox" value="a3">a3 <br />
<input type="checkbox" name="depall1" onclick="checkall(1,this);">全選b<br />
<input name="dep[1][]" type="checkbox" value="b1">b1
<input name="dep[1][]" type="checkbox" value="b2">b2
<input name="dep[1][]" type="checkbox" value="b3">b3 <br />
<input type="checkbox" name="depall2" onclick="checkall(2,this);">全選c<br />
<input name="dep[2][]" type="checkbox" value="c1">c1
<input name="dep[2][]" type="checkbox" value="c2">c2
<input name="dep[2][]" type="checkbox" value="c3">c3
</form>

因為我server端是使用php 所以下面是php處理值的方法

for($_i=0;$_i<3;$_i++)
{
for($_j=0;$_j<count($_POST['dep'][$_i]);$_j++ )
{
echo $_POST['dep'][$_i][$_j];
}
}

這裡可以看範例

這個是可以全選不只一類的

如果只要全選全部的checkbox

就可以再簡化一點囉

可以自己研究看看~

高手跟前輩們鞭小力一點XD

如果有更好的用法希望不吝指教 謝謝~