Живой поиск jQuery
12 апреля 2020 JavaScript jQuery
Сегодня я расскажу об одном отличном jQuery плагине о котором вы могли не знать. С его помощью можно быстро сделать живой поиск на странице сайта с множеством элементов. Называется он HideSeek.
Плагин очень прост в использовании, но в то же время имеет много настроек. HideSeek совместим с IE7+, Chrome, Firefox, Safari, jQuery 1.8.x, 1.9.x, 1.11.x, 1.12.x, 2.1.x, 2.2.x и поддерживает подсветку текста, настраиваемые сообщения, навигацию, инициализацию через data-атрибут, настраиваемые события и многое другое. Неплохо, неправда ли?
Где это может пригодится? Ну к примеру для страницы с структурой компании и контактами сотрудников. Если сотрудников много, то будет логично сделать поиск по фамилии или должности. Так вот с помощью плагина HideSeek вы создадите такой поиск за считанные минуты.
Давайте рассмотрим по шагам как подключить и использовать плагин.
Содержание
- 1 Шаг 1. Скачиваем плагин
- 2 Шаг 2. Подключаем jQuery и HideSeek на страницу
- 3 Шаг 3. Добавляем HTML разметку
- 4 Шаг 4. Инициализируем плагин
- 5 Настройка плагина HideSeek
- 6 Подсветка текста
- 7 Текст сообщения, если нет результатов
- 8 Исключить элементы из поиска
- 9 Скрывать элементы по умолчанию
- 10 Событие после поиска
- 11 Пример на Bootstrap
- 12 Заключение
Шаг 1. Скачиваем плагин
Скачать плагин можно на
Шаг 2. Подключаем jQuery и HideSeek на страницу
Разархивируем ранее скачанные файлы плагина и подключаем их на страницы сайта:
<script type="text/javascript" src="jquery-2.0.2.min.js"> <script type="text/javascript" src="jquery.hideseek.min.js">
Шаг 3. Добавляем HTML разметку
<input id="search" name="search" placeholder="Поиск..." type="text" data-list=".list"> <ul class="list"> <li>элемент 1</li> <li>...</li> <li><a href="#">элемент 2</a></li> </ul>
или так
<input id="search" name="search" placeholder="Поиск..." type="text" data-list=".list"> <div class="list"> <span>элемент 1</span> <span>...</span> <span>элемент 2</span> </div>
Обратите внимание в атрибуте data-list
указывается класс родительского тега с элементами поиска.
Шаг 4. Инициализируем плагин
Инициализировать HideSeek можно двумя способами.
1. По умолчанию:
$(document).ready(function() { $('#search').hideseek(); });
Здесь указываем ID поля ввода поискового запроса. В данном случае #search
.
2. С помощью data-атрибута:
<input id="search" name="search" type="text" data-toggle="hideseek" data-list=".list">
Настройка плагина HideSeek
Как видите использовать плагин очень просто. Давайте рассмотрим его некоторые настройки, которые могут пригодится.
Так же мы предлагаем https://cs-megaboost.ru/cs.php и насладиться игрой в стрелялки по полной.
Подсветка текста
$('#search-highlight').hideseek({ highlight: true });
Текст сообщения, если нет результатов
$('#search-nodata').hideseek({ nodata: 'Результаты не найдены' });
Исключить элементы из поиска
$('#search-ignore').hideseek({ highlight: true, ignore: '.ignore' });
Скрывать элементы по умолчанию
$('#search-hidden-mode').hideseek({ hidden_mode: true });
Событие после поиска
$('.after_event').hideseek(); $('.after_event').on("_after", function() { alert('Это сообщение выводится после того, как поиск закончен!') });
Пример на Bootstrap
Давайте теперь попробуем воплотить в жизнь тот пример со страницей контактов, о котором я писал в начале статьи.
Создадим страницу на начальном шаблоне Bootstrap. Представим, что это будут карточки с именем сотрудника, его фото и контактами. А над карточками будет поле ввода поискового запроса.
У меня получилось примерно следующее:
Исходный код страницы:
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content=""> <meta name="author" content=""> <title>Контакты сотрудников компании</title> <!-- Bootstrap core CSS --> <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <!-- Page Content --> <div class="container"> <h1>Контакты сотрудников компании</h1> <div class="input-group mb-3"> <!-- HideSeek Input --> <input id="search" class="form-control" name="search" placeholder="Найти сотрудника..." type="text" data-list=".list"> </div> <div class="row list"> <div class="col-md-4 mb-5"> <div class="card h-100"> <img class="card-img-top" src="http://placehold.it/700x400" alt=""> <div class="card-body"> <h2 class="card-title">Иванов Иван Иванович</h2> <p class="card-text">Тел. +7 (000) 000-00-00<br/> E-mail: [email protected] </p> </div> </div> </div> <!-- /.col-md-4 --> <div class="col-md-4 mb-5"> <div class="card h-100"> <img class="card-img-top" src="http://placehold.it/700x400" alt=""> <div class="card-body"> <h2 class="card-title">Петров Петр Петрович</h2> <p class="card-text">Тел. +7 (000) 000-00-00<br/> E-mail: [email protected] </p> </div> </div> </div> <!-- /.col-md-4 --> <div class="col-md-4 mb-5"> <div class="card h-100"> <img class="card-img-top" src="http://placehold.it/700x400" alt=""> <div class="card-body"> <h2 class="card-title">Сидоров Сидор Сидорович</h2> <p class="card-text">Тел. +7 (000) 000-00-00<br/> E-mail: [email protected] </p> </div> </div> </div> <!-- /.col-md-4 --> </div> <!-- /.row --> </div> <!-- /.container --> <!-- Bootstrap core JavaScript --> <script src="vendor/jquery/jquery.min.js"></script> <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script> <!-- jQuery HideSeek --> <script type="text/javascript" src="jquery.hideseek.min.js"></script> <script> $(document).ready(function() { $('#search').hideseek({highlight: true}); }); </script> </body> </html>
А вот результат работы плагина HideSeek:
Как вы можете видеть, плагин отфильтровал запись по имени сотрудника, и подсветил найденную часть текста.
Заключение
Думаю jQuery плагин HideSeek найдет свое место в вашем арсенале JavaScript инструментов, а это руководство надеюсь поможет вам создать простой и функциональный живой поиск на jQuery. Всем спасибо и удачи!
лучший плагин для поиска!
Лучший
Супер! Долго искал решение! 50 руб. кину. Спасибо