tablesorter - скрыть несколько таблиц на основе фильтра одного столбца

Я использую jquery tablesorter для фильтрации таблиц. Теперь я пытаюсь выбрать значение из внешнего раскрывающегося списка и на основе этого значения скрыть одну или несколько таблиц. Код следует искать в скрытой колонке «Команда». Если значение не найдено в этом столбце, таблица должна «скрыться».

Таблицы создаются запросом mysql и php. Это заголовок таблицы.

echo "<table class='tablesorter' id='".$lid."' style='width:80%'>
<thead>
<tr>            
    <th colspan='2'><a href='league.php?lid=".$lid."'>".$getlid['LEA']."</a></th>
    <th class='num_caption' title='Spiele'>Sp</th>
    <th class='num_caption'  title='Siege'>S</th>
    <th class='num_caption'  title='Niederlagen'>N</th>
    <th class='num_caption'  title='Wertungspunkte'>WP</th>
    <th class='num_caption'  colspan='2' title='Korbpunkte'>Punkte</th>         
    <th class='num_caption'  title='Differenz Korbpunkte'>Dif</th>                          
    <th class='num_caption'  title='Spiele verloren mit Spielwertung'>Wert</th>     
    <th style='display:none';>Team</th>
</tr>
</thead>";

Это кажется более сложным, чем я думал. Есть ли способ сделать это с помощью tablesorter или это лучший способ иметь свои собственные функции? Любые идеи?


person user3931315    schedule 19.08.2014    source источник


Ответы (1)


Попробуйте это (демонстрация):

CSS

.hidden { display: none; }

HTML

<select class="search" data-column="0">
    <option></option>
    <option>...</option>
</select>

<table>...</table>
<table>...</table>

Скрипт

$(function () {
    $('table')
        .tablesorter({
            theme: 'blue',
            widgets: ['zebra', 'filter'],
            widgetOptions: {
                filter_external: '.search'
            }
        })
        .on('filterEnd', function(){
            $(this).toggleClass('hidden', this.config.filteredRows === 0);
        });
});
person Mottie    schedule 19.08.2014
comment
Привет, Мотти, твой ответ - это то, что я ищу. Еще один вопрос: я не хочу, чтобы оставшаяся таблица (или таблицы) подвергалась фильтрации. Я хочу скрыть всю таблицу или показать таблицу со всеми строками. Что мне нужно изменить? - person user3931315; 20.08.2014