取消选中加载复选框,并显示所有列表项。 当在那些列表上检查过滤器时,将显示相关项目。 我遇到的问题是,当您再次取消选中所有复选框时,我需要显示所有项目而不是隐藏。
这是我的小提琴......
http://jsfiddle.net/amesy/B9Hnu/124/
$(function() {
var $checkboxes = $("input[id^='type-']");
$('input[type=checkbox]:checked').attr('checked', false);
$checkboxes.change(function() {
var selector = '';
$checkboxes.filter(':checked').each(function() { // checked
selector += '.' + this.id.replace('type-', '') + ', ';
// builds a selector like '.A, .B, .C, '
});
selector = selector.substring(0, selector.length - 2); // remove trailing ', '
$('#list li').hide() // hide all rows
.filter(selector).show(); // reduce set to matched and show
});
});
最终,这将用于投资组合,但我会将过滤器/标签拆分为其类别。如果有人想提出建议,将非常感激。
答案 0 :(得分:1)
这里是小提琴http://jsfiddle.net/B9Hnu/125/
if( $('input[type=checkbox]:checked').length<=0)
{
//show all
}
else{
// your logic
}