日期:2014-05-17  浏览次数:20755 次

如何用JS实现多个checkbox的全选
求教各位大神:
    想实现多个checkbox的全选和全部disabled为true或者false;通过select框来实现;先用jquery做好了一个,代码如下:
     $(document).ready(function(){
$('#salesArea').change(function(){
if($('#salesArea').val()==1){
$('.area').attr("disabled","disabled");
$('.area').attr("checked","checked");
}if($('#salesArea').val()==2){
$('.area').attr("disabled","");
}
});
});
通过这段代码可以完成通过改变select框的状态来改变所有checkbox的全选和可编辑/不可编辑,但是后来想用javascript来实现,试了很多种方法都不行,在谷歌上看很多人用这种办法:
       function changeArea(){
if(document.getElementById("salesArea").value==1){
alert(1);
var checkboxes = document.getElementByTagName("input");
for(var i=0;i<checkboxes.length;i++){
if(checkboxes[i].getAttribute("type") == "checkbox"){
checkboxes[i].diasbled=true;
}
}
}
if(document.getElementById("salesArea").value==2){
alert(2);
var checkboxes = document.getElementByTagName("input");
for(var i=0;i<checkboxes.length;i++){
if(checkboxes[i].getAttribute("type") == "checkbox"){
checkboxes[i].diasbled=false;
}
}
}

}
还有其他的一些也是类似的通过得到标签的数组来循环,再在这个数组里面来判断。但是经过验证没有一个是行的通的。各位大神看看应该如何通过javascript来解决这个问题,不胜感激!!!

JavaScript jQuery CheckBox function

------解决方案--------------------

var checkboxes = document.getElementsByName("checkbox的name");
for(var i=0;i<checkboxes.length;i++){
    checkboxes[i].checked=true;
}

------解决方案--------------------

<input type="checkbox" name="ck" />1
<input type="checkbox" name="ck" />2
<input type="checkbox" name="ck" />3


$("input[name='ck']:checkbox").attr('checked',true);