2013-06-27 4 views
-1

Моя цель - показать/скрыть tr по выбору.jquery show hide tr по выбору опции

У меня есть <select> с id="selcat" и стол с id="maplist". Элемент управления select <options> генерируется из набора записей MySQL и отображает все по умолчанию.

(в исходном коде мои варианты знач то, что они, кажется)

Теперь я хочу, чтобы фильтровать это без обновления страницы с помощью JQuery.

Я попытался это:

$('select#selcat').change(function() { 
    $("#maplist tr").hide().filter($(this).val()).show(); 
}).change(); 
}); 

Но все тр являются прячась с этим кодом и мне было интересно, что это неправильно.

+3

Нужна HTML код слишком – sdespont

+1

ли строки имеют идентификаторы или классы? Как вы сопоставляете свои значения выбора с строками? – tymeJV

+0

Вы пытались использовать значение 'option' без show/hide, чтобы увидеть, возвращают ли запрос и фильтр непокрытые tr? Кроме того, вы хотите использовать обратный вызов или '.then()' для задержки фильтра. – mitch

ответ

1

Возьмем следующий HTML:

<select id="selcat"> 
    <option value="[data-val='a']">A</option> 
    <option value="[data-val='b']">B</option> 
    <option value="[data-val='c']">C</option> 
</select> 

<table id="maplist"> 
    <tr data-val="a"><td>A</td></tr> 
    <tr data-val="a"><td>A</td></tr> 
    <tr data-val="b"><td>B</td></tr> 
    <tr data-val="b"><td>B</td></tr> 
    <tr data-val="c"><td>C</td></tr> 
</table> 

Тогда ваш JQuery должен работать:

$('select#selcat').change(function() { 
    $("#maplist tr").hide().filter($(this).val()).show(); 
}).change(); 

Я думаю, что вы отправляете неправильное значение фильтра в вашем коде, поэтому люди хотели см. ваш HTML.

Смотрите эту скрипку: http://jsfiddle.net/8jwsj/

+0

ОК, вот еще несколько объяснений. HTML-код из моей моей таблицы выглядит <идентификатор таблицы = «MapList»> некоторые школы<имя входного = типа «скрытое» = «скрытый» идентификатор = значение «скрытое» = «школа» /> некоторые отель<имя = тип ввода "скрытое" = "скрытые" ID = "скрытое" значение = "отель" /> мои выберите выглядит следующим образом <выберите имя = "selcat" id = "selcat"> <значение опции = "школа"> школа ik нравится фильтровать строки таблицы по выбору, где значение параметра = значение скрытого поля – Thomw