如果没有选中复选框jquery,则显示所有div

时间:2014-10-27 10:36:47

标签: jquery sharepoint

我尝试使用jquery和动态复选框以及来自sharePoint列表的div来开发过滤器,我的问题是如果没有选中复选框,如何显示所有div,这里是我做了什么:< / p>

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

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

感谢您的帮助

4 个答案:

答案 0 :(得分:0)

你应该搜索已选中的复选框计数,如果count等于0则显示div,否则隐藏它们:

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

答案 1 :(得分: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
}

答案 2 :(得分: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语句中做你的东西

答案 3 :(得分: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();  
    }
});

});

警告消息显示但不显示div