Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Форум Модули DIAFAN.CMS Поиск по сайту Поиск при вводе, а не при нажатии "найти" (живой поиск)


Максим (web-prosto) 2201 июля 2017 г.

Всем привет!
На сайте в строке поиске в шапке сайта поиск результаты появляются, если нажать кнопку "Найти", а как сделать, чтобы поиск уже начинался при вводе фразы? Т.е. живой поиск.

Заранее СПАСИБО!

Михаил (ZzzBep) 10202 июля 2017 г., редакция 02 июля 2017 г.

На демо сайте посмотрите, помоему там так и сделано. Если память не изменила мне, надо дописать ajax true в теге.

Максим (web-prosto) 2202 июля 2017 г.

Спасибо, но это не совсем то. ajax true - это подгрузка результатов без перезагрузки страницы... это и так у меня стоит... и на демо сайте тоже. Т.е. вы вводите фразу которую ищите и нажимая найти появляется всплывающий блок с результатами... а мне нужно чтобы этот блок уже во время ввода фразу выдавал подходящие результаты...

Александр (capitan) 9303 июля 2017 г.

надо в скрипт search.show_serach_top.js дописать вот такую конструкцию
Код
$(this).parents("form").submit();

Получится
Код
if($(this).val())
{
$(this).parents('.js_search_form, #search').addClass('active');
$(this).parents("form").submit();
}
else
{
$(this).parents('.js_search_form, #search').removeClass('active');
}


Спасибо сказали: Михаил (ZzzBep), Привет (romaromk)

Александр (capitan) 9303 июля 2017 г.

а ну и обернуто все это должно быть в <div id="search">...</div>

Это если не будет работать стандартный код
Спасибо сказали: Максим (web-prosto)

Андрей (R4W) 5402 октября 2017 г.

Лучше
Код
else if $(this).val().length > 3
Спасибо сказали: Максим (web-prosto)

Александр (lebonnet) 2603 июля 2017 г.

а вот так делать не надо, есть стандартный функционал сайта, свой ajax, серверная сторона, MySql запросы, а по ссылке мягко говоря фигня.
Есть доки, как писать модуль с аяксом, если уж так хочется написать свой поиск.
Да и поиск который существует от диафана индексный, и соотвтетственно быстрее.

Dmitry (afonnikov10) 21903 июля 2017 г.

Выше я представил концепцию и принцип живого поиска а не готовый код для Diafan

Игорь (igor17) 01 октября 2017 г.

Тому кто не умеет читать...
На сайте по ссылке написано:
Цитата
Внимание
Это самый простой пример живого поиска, который не рекомендуется использовать на своих сайтах...

Максим (web-prosto) 2223 апреля 2018 г.

Привет всем! Возвращаюсь к вопросу ЖИВОГО ПОИСКА... У кого то есть реальный опыт реализации этой задачи?

Максим (web-prosto) 2223 апреля 2018 г.

Всё! Всем спасибо! Александр (capitan) и Андрей (R4W) - ваши записи помогли! Почему то раньше не работало))) наверное поторопился.

Олег (TestPilot79) 09 декабря 2018 г.

Приветствую, а можно сделать живой поиск для фильтра товаров? Т.е. чтоб товары отображались сразу без необходимости нажимать кнопку "Найти"?

Привет (romaromk) 4209 декабря 2018 г.

На форуме много чего есть при поиске:
https://user.diafan.ru/forum/show3389/

Андрей (R4W) 5410 декабря 2018 г.

JS'ом по смене любого из элементов формы делать ей submit вот и все

Александр (capitan) 9310 декабря 2018 г.

Могу предложить типа такого, может как-то короче можно описать

Код
$("#search").find("select, input")
.change(function () {
$("#search").submit();
})
.keyup(function(){
$("#search").submit();
});

Андрей (R4W) 5410 декабря 2018 г.

Я бы на change и на focus out

Александр (capitan) 9310 декабря 2018 г., редакция 10 декабря 2018 г.

Могу ошибаться, но если ты кликаешь по checkbox, то фокус автоматом с нее не снимается, если ты не нажмешь в какой-то другой объект, ну и событие не будет отправляться