复选框筛选结果

Checkbox Filter results

本文关键字:结果 筛选 复选框      更新时间:2024-06-06

我正在做类似的事情。

我想补充的是,当选择"1 Bedroom"时,即使没有选择任何位置复选框,也应该显示任何具有1 Bedrom的项目。

谢谢。

您所需要做的就是在底部的语句中添加一个"or",以检查数组是否为空。

保持你当前的代码结构,你代码的最后一部分看起来是这样的:

$('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();
});