Сузить список элементов при вводе с JavaScript - PullRequest
8 голосов
/ 21 января 2009

Я пытаюсь найти плагин или надежный способ сузить список элементов по типу пользователя.

По существу, всегда будет отображаться список, содержащий названия продуктов, которые пользователи смогут прокручивать. Внизу будет форма, где вы можете ввести название продукта. По мере ввода список сужается.

Я пытался найти способ адаптировать что-то вроде автозаполнения пользовательского интерфейса jQuery для работы таким образом, но возникли некоторые проблемы.

Кто-нибудь создал что-то подобное раньше или есть идеи?

Ответы [ 2 ]

22 голосов
/ 21 января 2009

Вот краткий пример подхода, который может работать:

HTML:

<ul id="products">
    <li>Apple</li>
    <li>Banana</li>
    <li>Mango</li>
</ul>
<input id="filter" />

JS:

var $products = $('#products li');
$('#filter').keyup(function() {
    var re = new RegExp($(this).val(), "i"); // "i" means it's case-insensitive
    $products.show().filter(function() {
        return !re.test($(this).text());
    }).hide();
});

Это простой подход, и, вероятно, потребуется немного подправить. Но это близко к тому, что вам нужно.

5 голосов
/ 21 января 2009

Как насчет плагина quickSearch ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...