我正在做类似的事情。
What I want to add is that when '1 Bedroom' is selected, any items that have 1 Bedroom should display, even if none of the location checkboxes are selected.
谢谢。
我正在做类似的事情。
What I want to add is that when '1 Bedroom' is selected, any items that have 1 Bedroom should display, even if none of the location checkboxes are selected.
谢谢。
您需要做的就是在底部的语句中添加一个“或”,以检查数组是否为空。
保持您当前的代码结构,您的最后一点代码将如下所示:
$('li').each(function() {
if (($.inArray($(this).data('location'), loc_array) > -1 || loc_array.length == 0) && ($.inArray($(this).data('bedrooms'), room_array) > -1 || room_array.length == 0)) {
$(this).show();
} else {
$(this).hide();
}
});
当然,您的代码可以重构以使其更易于阅读并且(可能)更高效。但这样做的目的是帮助您了解您需要做什么。重构稍后出现!
在您的输入更改功能中尝试此操作:
var bedrooms = $(this).data('bedrooms');
$('ul > li').each(function(){
if($(this).data('bedrooms') !== bedrooms) $(this).toggle();
});