Я пытался в этом разобраться, и думаю, мне нужно отфильтровать или найти? Но я прошел через множество итераций и до сих пор не смог это исправить ...
Чего я пытаюсь достичь:
- Вариант, выбранный в раскрывающемся списке filteritem
- Получите значение элемента и покажите span.item-ii с внутренним html, соответствующим значению
- Получить класс, начиная с lid- из span.item-ii
- Показать элементы p.ptext с тем же классом и скрыть остальные
Моя разметка выглядит примерно так:
<select name="filteritem" id="filteritem">
<option value="">- Select One-</option>
<option value="Feliformia"> Feliformia </option>
<option value="Caniformia">Caniformia</option>
</select>
<span class="item-ii lid-34 bigtitle">Feliformia</span>
<span class="item-ii lid-2 bigtitle">Caniformia</span>
...
<p class="ptext lid-34 moderate-me">Stenoplesictidae</p>
<p class="ptext lid-34 moderate-me">Percrocutidae</p>
<p class="ptext lid-2 moderate-me">Amphicyonidae</p>
<p class="ptext lid-2 moderate-me">Canidae</p>
Не уверен, что это стоит включать, но пока что у меня есть это ... (хотя, советы о том, как сделать его лучше, были бы отличными ...)
$('select#filteritem').live('change', function() {
var itemselection = $(this).val();
if(itemselection == '') {
$('span.itemii').show();
} else {
$('span.itemii').each(function() {
$(this).hide();
var itemtext = $(this).html();
if(itemtext == itemselection) {
$(this).show();
}
});
}
});
}