答案 0 :(得分:2)
您需要做的就是在底部的语句中添加“或”,以检查数组是否为空。
保持当前的代码结构,代码的最后一位看起来像这样:
$('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();
}
});
当然,您的代码可以重新考虑,以便于阅读和(可能)更高效。但这样做的目的是帮助您了解您需要做什么。重新分解后来!
答案 1 :(得分:0)
在输入更改功能中尝试此操作:
var bedrooms = $(this).data('bedrooms');
$('ul > li').each(function(){
if($(this).data('bedrooms') !== bedrooms) $(this).toggle();
});