Re: jQuery несколько флажок страницы фильтра - PullRequest
0 голосов
/ 17 марта 2012

Этот вопрос является расширением jQuery Multiple Checkbox Page Filter . Это точно мой вопрос.

У меня три цели:

  • Я хочу получить список флажков для фильтрации содержимого страницы.
  • Я хочу вернуть только тот контент, который соответствует всем проверенным в данный момент ящики, скрывающие все остальное.
  • Если флажки не установлены, все должен показать.

Как ранее обсуждалось в приведенном выше вопросе, цели A и C были достигнуты с помощью:

$('div.tags').delegate('input:checkbox', 'change', function()
{
     var $lis = $('.results > li').hide();
     //For each one checked
     $('input:checked').each(function()
     {
          $lis.filter('.' + $(this).attr('rel')).show();
     });      
});

и цель B была достигнута с помощью:

var selector = $('input:checked').map(function ()
{
    return $(this).attr('rel');
}).get().join('.');
$lis.filter(selector).doWhatever();

Но я не знаю, как объединить эти два сценария вместе?

1 Ответ

0 голосов
/ 17 марта 2012

Дайте этому шанс: http://jsfiddle.net/mattball/tkLK6/

$('div.tags').delegate('input[type=checkbox]', 'change', function()
{
    var $lis = $('.results > li'),
        $checked = $('input:checked');

    if ($checked.length)
    {
        var selector = $checked.map(function ()
        {
            return '.' + $(this).attr('rel');
        }).get().join('');

        $lis.hide().filter(selector).show();     
    }
    else
    {
        $lis.show();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...