取消选中隐藏的输入jQuery

时间:2014-04-09 13:59:42

标签: javascript jquery

我正在尝试取消选中每个列表项中的input项,其中li目前是checkedhidden

DEMO http://jsfiddle.net/VHW9U/

$('#mylist input:checked').each(function() {
    if(!$(this).is(":visible")){
        $(this).find("input:checkbox").prop("checked", false);
    }
});

上面的代码不起作用,我尝试了各种不同的方法,但似乎都没有。如果您查看jsfiddle的源代码,您会看到隐藏的inputs仍然是checked

2 个答案:

答案 0 :(得分:2)

试试这个,复选框不在复选框内。 $(this).find("input:checkbox")this是复选框

$('#mylist input:checked').each(function() {
    if(!$(this).is(":visible")){
        $(this).prop("checked", false);
    }
});

注意这不会更改已检查的属性,但会更改属性。 DEMO

答案 1 :(得分:1)

尝试

Fiddle Demo

$('#mylist li:hidden input:checked').prop("checked", false);

$('#mylist li:hidden input:checked')在隐藏的checked内获取input li哪个内部元素为mylist

<小时/> 或

Fiddle Demo

$('#mylist input:checked:hidden').prop("checked", false);

$('#mylist input:checked:hidden')checked

的元素中获取input mylist