2014-09-10 132 views
-1

如果没有选择复选框,那么我该如何.slideUp父母的div?如果没有选中复选框,如何隐藏div jQuery

if ($("input:checkbox:not(:checked)")) { 
    $("#parentOfParentDiv").slideUp(); 
// this should slide up the entire parent div IF NONE is selected, doesnt work  
    } else { 
    $("input:checkbox:not(:checked)").closest('div').slideUp(); 
//this should slideUp all the divs that are NOT checked, this works 
} 
+0

你可以发布sample'HTML'结构吗? – 2014-09-10 13:42:18

+0

您应该检查集合的“长度”。 '$(“input:checkbox:not(:checked)”)'返回一个对象,它是JavaScript中的一个真值。 – undefined 2014-09-10 13:42:38

回答

0

你需要这样的:

if (!$(":checkbox").is(":checked")) { 
    $("#parentOfParentDiv").slideUp(); 
} else { $("input:checkbox:not(:checked)").closest('div').slideUp(); } 
+0

忘了添加'!',现在添加 – 2014-09-10 13:47:37

+0

谢谢,我用这个,现在它的工作原理:)真棒快速回复 – SNT 2014-09-10 13:55:06

+0

@ user3712713不要忘记标记为答案,如果它帮助 – 2014-09-10 13:56:25

0

检查选中的复选框

if ($("input:checkbox:checked").length >0) { 
    $("input:checkbox:not(:checked)").closest('div').slideUp(); 
} else { 
    $("#parentOfParentDiv").slideUp(); 
} 
+0

谢谢你,快速回复,帮助我。我没有意识到,长度适用于非文本字段oto – SNT 2014-09-10 14:00:21

0

的长度,如果我理解正确的话,你应该检查选中的复选框的长度:

if (!$("input:checkbox:checked").length) { // nothing is checked 
    $("#parentOfParentDiv").slideUp(); 
} else { 
    $("input:checkbox:not(:checked)").closest('div').slideUp(); 
}