首页 新闻 搜索 专区 学院

N个input标签属性为checkbox,怎么点击其中一个判断所有的是否被选中

0
悬赏园豆:10 [已解决问题] 解决于 2015-10-14 09:57

先上个图:

Repeater循环出了6个input复选框,

当选中其中一个的时候判断所有的复选框是否全部选中(全选和反选做了,就是不知道怎么实现这个判断),就是说,一个一个点,点满了就表示全选,弹个窗~~~,没点满就不是全选.....

 

表示对jquery应用得不是特别熟练,求支援~~

默卿的主页 默卿 | 老鸟四级 | 园豆:4526
提问于:2015-10-14 09:15
< >
分享
最佳答案
1

自己给比封装了一个函数

function CheckBox($this, $obj) {
    $this.click(function() {
        if ($this.is(":checked")) {
            $obj.each(function() {
                this.checked = true;
            });
        } else {
            $obj.each(function() {
                this.checked = false;
            });
        }
    });
}
收获园豆:5
稳稳的河 | 老鸟四级 |园豆:4216 | 2015-10-14 09:27

$this是当前的元素,$obj是什么,为什么这里有两个参数,

<input type="checkbox" name="name" id="chk" onchange="chkBig(this)" />

我这里只有一个参数传递啊,粘贴了一下代码,改了也报错了:

默卿 | 园豆:4526 (老鸟四级) | 2015-10-14 09:38

@sunshine.pl: $obj是$('input[name="name"]'),报错是你传错参了

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-10-14 09:43

@稳稳的河: chkBig(this)你这样传,方法的参数就该这样写$this

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-10-14 09:46

@稳稳的河: 

var iNum=0;
$('input[type="checkbox"]').each(function (index,obj) {
if ($(obj).attr("checked")) {
console.info(1);
iNum++;
if(iNum==6)
{
alert("true");
}
}
});

可以了,O(∩_∩)O~~么么哒~~

默卿 | 园豆:4526 (老鸟四级) | 2015-10-14 09:56
其他回答(1)
1

遍历嘛。通过name遍历。$('input[name="name"]')

收获园豆:5
幻天芒 | 园豆:36594 (高人七级) | 2015-10-14 09:22

没遍历出来,

//$('input[name="checkbox"]').each(function () {
// if ($(input).attr("checked")) {
// alert("true");
// }
//});

这里是不是哪里不对。。。。

支持(0) 反对(0) 默卿 | 园豆:4526 (老鸟四级) | 2015-10-14 09:36

console.info($('input[name="checkbox"]').length);

长度是0

支持(0) 反对(0) 默卿 | 园豆:4526 (老鸟四级) | 2015-10-14 09:41

@sunshine.pl: 你name=name,用name="checkbox"去去节点怎么取的到?

支持(0) 反对(0) 稳稳的河 | 园豆:4216 (老鸟四级) | 2015-10-14 09:46

@稳稳的河: 嗯,换了,console.info($('input[type="checkbox"]').length);

可以看长度

支持(0) 反对(0) 默卿 | 园豆:4526 (老鸟四级) | 2015-10-14 09:50

粗来啦~\(≧▽≦)/~啦啦啦

支持(0) 反对(0) 默卿 | 园豆:4526 (老鸟四级) | 2015-10-14 09:56

@sunshine.pl: 哈哈哈~~

支持(0) 反对(0) 幻天芒 | 园豆:36594 (高人七级) | 2015-10-14 10:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册