我尝试使用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。
感谢您的帮助
答案 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