客户端filter显示取消选中所有复选框后的所有项目
卸载复选框未选中,将显示所有列表项。 当在那些列表上检查filter时,将显示相关项目。 我遇到的问题是,当您再次取消选中所有复选框时,我需要显示所有项目而不是隐藏。
这是我的小提琴……
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 }); });
最终,这将用于投资组合,但我会将filter/标签分成其类别。 如果有人想建议它将非常感激。
这里是小提琴http://jsfiddle.net/B9Hnu/125/
if( $('input[type=checkbox]:checked').length<=0) { //show all } else{ // your logic }