У меня есть окно поиска. Я использую jQuery и keyup для фильтрации повторяющихся div.
Каждый div выглядит так:
<div class="searchCell" id="searchCell' . $id . '">';
<div class="friendName">
// someNameOutputWithPHP.
</div>
</div>
Теперь я хочу фильтровать по тексту имени. Если someNameOutputWithPHP содержит поисковый запрос, должен отобразиться весь searchCell (). Если это не так, весь searchCell должен скрыть ().
Это не работает, хотя:
<script type="text/javascript">
$(document).ready(function() {
$("#searchbox").keyup(function() {
var searchValue = $(this).val();
if(searchValue === "") {
$(".searchCell").show();
return;
}
$(".searchCell").hide();
$(".searchCell > .friendName:contains(" + searchValue + ")").show();
});
});
</script>
EDIT
Новая проблема: я заставил divs show () показать, как я хочу. Но: содержит не работает точно.
Например: скажем, одно из имен - Райан. Когда я ищу «Райан», я ничего не получаю. Но когда я ищу «Янь», я получаю Ryan Div.
Что не так?
Вот: содержит код:
$(".friendName:contains(" + searchValue + ")").parent().show();