2014-10-27 56 views
0

我试图发展与jQuery和动态checkboxs和SharePoint列表来div的过滤器的所有div,我的问题是如何显示所有的div如果没有checkboxs进行检查,这里就是我做:显示,如果没有选中复选框的jQuery

$("input:checkbox").change(function() { 
    if ($('input:checkbox').not(':checked').length == $('input:checkbox').length) { 
     $('.flowers > div').show(); 
    } 
}); 

花是类我div容器的,我想花div来显示所有的div如果没有复选框被选中。

感谢您的帮助

+0

如果您检查某些内容,请再次显示一些div? – dfsq 2014-10-27 10:42:44

回答

0

你还是搜索选中的复选框数,显示在div如果计数等于0,否则,隐藏起来:

if ($('input:checkbox:checked').length == 0) { 
    $('.flowers > div').show(); 
} 
+0

感谢您的回复,actionally的 “$( '花> DIV。')显示();”。无法正常工作 – walido 2014-10-27 12:59:46

+0

walido:您是否准备好了DOM中的事件? – 2014-10-27 13:11:19

+0

是的,我做了,它在$(document).ready(function(){}); – walido 2014-10-27 13:38:32

0
if ($("input:checkbox:checked").length == 0) 
{ 
    // your code to show all divs 
} 
else 
{ 
    //code to show the div that corresponds to checked checkbox only 
} 
+0

请回答整个问题,而不仅仅是其中的一部分。 – 2014-10-27 11:07:50

0

如果您需要的复选框不我可以通过这个例子找到你:

HTML:

<form id="form"> 
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br> 
<input type="checkbox" name="vehicle" value="Car">I have a car 
</form> 

JS:

$("#form").change(function() { 
    checkMyCheckbox(); 
}); 

function checkMyCheckbox() { 
    var a = $("#form").find("input:checked").length; 
    if(a == 0) { 
     alert("no checked boxes"); 
    }  
} 

这到底是怎么发生的,你把你的形式与复选框,你选中的元素的数量。 如果数字是0,你没有选中的元素。做你的东西在if语句

0

这里是我的完整方法:

$(document).ready(function() { 
$("#vcf-theme").accordion(); 
$('div.flowers-wrap').find('input:checkbox').on('click', function() { 
    $('.flowers > div').hide(); 
    $('div.flowers-wrap').find('input:checked').each(function() { 
     $('.flowers > div.' + $(this).attr('rel')).show(); 
    }); 
}); 

$("input:checkbox").change(function() { 
    if ($('input:checkbox').not(':checked').length == $('input:checkbox').length) { 
     alert("no one is checked !"); 
     $('.flowers > div').show(); 
    } 
}); 

});

警告消息显示,但不是divs

相关问题