日期:2014-05-16  浏览次数:20301 次

javascript checkbox 选择问题(单页面部分选择)
我在一个html页面当中
有多个checkbox,分别有几个部分如:
全选

模块1

模块1功能1         模块2功能2         模块2功能3

模块2

模块2功能1         模块2功能2         模块2功能3
.
.
.

当全选时所有checkbox都选择(实现)
当选择模块1时模块1功能123被选择(实现)
当选择模块2时模块2功能123被选择(实现)
.
.
.

反选模块1时,模块1功能123被反选(实现)
但是当反选模块2/模块...时,模块2/模块...功能123不会被反选.

我的要求就是对页面部分checkbox进行选择和反选

我用的js是这样的:

function   checkall(form,   prefix,   checkall)   {
var   checkall   =   checkall   ?   checkall   :   'chkall ';
for(var   i   =   0;   i   <   form.elements.length;   i++)   {
var   e   =   form.elements[i];
if(e.name   &&   e.name   !=   checkall   &&   (!prefix   ||   (prefix   &&   e.name.match(prefix))))   {
e.checked   =   form.elements[checkall].checked;
}
}
}

html:

<input   class= "input_chk "   type= "checkbox "   name= "chkall "   value= "checkbox "   onclick= "checkall(this.form, 'chk_mk1 ') "/> 模块1

<input   class= "input_chk "   type= "checkbox "   id= "chk_mk1[] "   name= "chk_mk1[] "   value= "1 "   /> 模块1功能1
<input   class= "input_chk "   type= "checkbox "   id= "chk_mk1[] "   name= "chk_mk1[] "   value= "1 "   /> 模块1功能2
<input   class= "input_chk "   type= "checkbox "   id= "chk_mk1[] "   name= "chk_mk1[] "   value= "1 "   /> 模块1功能3


<input   class= "input_chk "   type= "checkbox "   name= "chkall2 "   value= "checkbox "   onclick= "checkall(this.form, 'chk_mk2 ') "/> 模块2
                                   

<input   class= "input_chk "   type= "checkbox "   id= "chk_mk2[] "   name= "chk_mk2[] "   value= "1 "   /> 模块1功能1
<input   class= "input_chk "   type= "checkbox "   id= "chk_mk2[] "   name= "chk_mk2[] "   value= "1 "   /> 模块1功能2
<input   class= "input_chk "   type= "checkbox "   id= "chk_mk2[] "   name= "chk_mk2[] "   value= "1 "   /> 模块1功能3

------解决方案--------------------
没问题。。。。

JF,哈哈