复选框使用jquery与IE8问题

时间:2010-06-16 21:08:35

标签: jquery

我有这段代码

 $('#Submit').click(function(event) {
            var checked = $('.inputchbox'); ......IE8
            var ids= checked.map(function() {
                return $(this).val();
            }).get().join(',');
             alert(ids);
        });

此代码返回Checkboxbox的所有值(.inputchbox是复选框的类)

但如果我这样做一些

var checked = $('.inputchbox input:checkbox:checked');
or
var checked = $('.inputchbox input[type=checkbox]:checked');
or
var checked = $('.inputchbox input[name=chk]:checked');
or 
var checked = $('.inputchbox').find('input[type=checkbox]:checked');

如果我这样做是没有什么对我有用我在IE8中没有得到结果?

 var checked = $('.inputchbox'); .....this is working but I am getting the checkboxes ids its doesnot checking wheather its checked or not.. 

我只需要检查chekcbox id的

感谢

3 个答案:

答案 0 :(得分:4)

怎么样

var checked = $('.inputchbox:checked');

? 您的代码段的问题在于您使用的空间为the descendant selector,并且向下进入DOM。 .find()方法也是如此。 g.d.d.c在回复时是正确的,.filter()而不是.find()应该同样有效(但边际量较慢):

var checked = $('.inputchbox').filter(':checked');

答案 1 :(得分:0)

当您在选择器中包含空格时,它意味着孩子。如果你想通过类来获取属性,你需要做这样的事情:$('.inputchbox:checked')

答案 2 :(得分:0)

选择器中的空格表示ancestor-descendant relationship,即.inputchbox是您的复选框的祖先,来自您的其他示例,似乎不正确。

尝试:

$('input.inputchbox:checkbox:checked');