用js 实现一个checkbox同时能全选和取消的功能

我的代码选了一次后第二次就失效了:下面是我的代码<th><inputtype="checkbox"id="checkAllbox"onclick="fnAllCheckb... 我的代码选了一次后第二次就失效了:下面是我的代码
<th><input type="checkbox" id="checkAllbox" onclick="fnAllCheckbox()"/></th>
//全选/取消选择消息
function fnAllCheckbox(){
var chk = document.getElementById("checkAllbox");
if(chk.checked){

$("input[name='commentIds']").attr("checked",true);
}else{

$("input[name='commentIds']").attr("checked",false);
}
}
求大师指教。。。。。。。。。。。
function DoCheck()
{
var ch=document.getElementsByName("choose");
if(document.getElementsByName("allChecked")[0].checked==true)
{
for(var i=0;i<ch.length;i++)
{
ch[i].checked=true;
}
}else{
for(var i=0;i<ch.length;i++)
{
ch[i].checked=false;
}
}
}
展开
 我来答
匿名用户
推荐于2017-06-13
展开全部

贴一个自己的代码供你参考:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
      window.onload = function () {
        function  $(id) {
            return document.getElementById(id);
        }
        var inputArr = document.getElementById("myCBox").getElementsByTagName("input");
        function sel(flag) {
            for(var i=0;i<inputArr.length;i++){
                inputArr[i].checked = flag;
            }
        }
//            全选
        $("selAll").onclick = function () {
            sel(true);
        }
//            取消选择
        $("cancelSel").onclick=function () {
            sel(false);
        }
//            反选
        $("invertSel").onclick = function () {
            for(var i=0;i<inputArr.length;i++){
                inputArr[i].checked = !inputArr[i].checked;
            }
        }
      }
    </script>
</head>
<body>

<button id="selAll">全选</button> <button id="cancelSel">取消全选</button> <button id="invertSel">反选</button>
<div id="myCBox">
<div> <input type="checkbox">测试1 </div>
<div> <input type="checkbox">测试2 </div>
<div> <input type="checkbox">测试3 </div>
<div> <input type="checkbox">测试4 </div>
<div> <input type="checkbox">测试5 </div>
<div> <input type="checkbox">测试6 </div>

</div>
</body>
</html>

运行效果:

z871472639
2014-08-15 · TA获得超过249个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:135万
展开全部

你试试这样看行吗:

var chk = document.getElementById("checkAllbox");
$("input[name='commentIds']").attr("checked",chk.checked);

不过这写的跟你的类似。。。

 你贴出来的代码我简单测试了一下,没有问题啊,可以实现,问题应该不在这里,你贴一下页面中的代码看看。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ningploy
2017-06-13 · TA获得超过754个赞
知道小有建树答主
回答量:717
采纳率:77%
帮助的人:451万
展开全部
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
0 <input type="checkbox" onchange="s(this)"><br>
1 <input type="checkbox"><br>
2 <input type="checkbox"><br>
3 <input type="checkbox"><br>
</body>
<script type="text/javascript">
function s (e) {
t=document.getElementsByTagName('input');
if(e.checked){
for(x in t){
t[x].checked=true;
}
}else{
for(x in t){
t[x].checked=false;
}
}
}
</script>
</html>

没必要用jq 

如果有必要 可以用 if(t[x].type="checkbox") 来判断input类型

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式