На странице имеется список названий и поле ввода:
<form action="">
<input type="text" value="" />
</form>
<p>name a</a>
<p>name b</a>
<p>name c</a>
Задача сделать так чтобы при вводе отображались только те из списка внутри которых содержится текст из поля ввода.
Написал скрипт:
$("input:text").keyup(function(){
var $value = $(this).val().toLowerCase();
var $length = $(this).val().length;
if($length > 0) {
$("p").each(function() {
var $text = $(this).text().toLowerCase();
if($text.indexOf($value) + 1) {
$(this).addClass("ok");
}
});
$("p:not(.ok)").hide();
$("p").removeClass("ok");
} else {
$("p").removeClass("ok");
$("p").show();
}
});
Он работает исправно при наборе символов, но при нажатии кнопки Backspace он перестает срабатывать. То есть работает только в одну сторону.
Подскажите где ошибка?