0

我正在尝试根据页面上住宿部分的不同参数来过滤页面。我不能让过滤器一起工作,所以如果用户点击一个部分,它将与另一个部分一起工作。

小提琴是http://jsfiddle.net/ktcle/YEtgM/2/

谢谢你的帮助

$('input').change(function(){
$('input').each(function(){
    var checked = $(this).attr('checked') || false;
    var numberofrooms = $(this).data('bedrooms');
    var sitelocation = $(this).data('location');
    $('li').each(function(){
        if ($(this).data('bedrooms')==numberofrooms){
            checked ? $(this).show() : $(this).hide();
        }

        if ($(this).data('location')==sitelocation){
            checked ? $(this).show() : $(this).hide();
        }

    });
});

});

4

1 回答 1

0

像这样的 jsFiddle 示例怎么样?

我给你的输入值有几个原因,但这里是 jQuery:

$('input').change(function() {
    var room_array = new Array(),
        loc_array = new Array();
    $('.br').each(function() {
        if ($(this).is(':checked')) {
            room_array.push($(this).data('bedrooms'));
        }
    });
    $('.loc').each(function() {
        if ($(this).is(':checked')) {
            loc_array.push($(this).data('location'));
        }
    });
    $('li').each(function() {
        if ($.inArray($(this).data('location'), loc_array) > -1 && $.inArray($(this).data('bedrooms'), room_array) > -1) {
            $(this).show();
        } else {
            $(this).hide();
        }
    });
});​
于 2012-07-03T16:22:42.023 回答