Вход • Регистрация

Поиск при вводе, а не при нажатии "найти" (живой поиск)

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

    Заранее СПАСИБО!
  • 02 июля 2017 г. , редакция: 02 июля 2017 г.
  • На демо сайте посмотрите, помоему там так и сделано. Если память не изменила мне, надо дописать ajax true в теге.
    • 02 июля 2017 г.
    • Спасибо, но это не совсем то. ajax true - это подгрузка результатов без перезагрузки страницы... это и так у меня стоит... и на демо сайте тоже. Т.е. вы вводите фразу которую ищите и нажимая найти появляется всплывающий блок с результатами... а мне нужно чтобы этот блок уже во время ввода фразу выдавал подходящие результаты...
      • 03 июля 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');
        }


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

          Это если не будет работать стандартный код
        • 11 декабря 2019 г. , редакция: 11 декабря 2019 г.
        • Здравствуйте. подскажите пожалуйста как в описанном варианте:
          Код
          if($(this).val())
          {
          $(this).parents('.js_search_form, #search').addClass('active');
          $(this).parents("form").submit();
          }
          else
          {
          $(this).parents('.js_search_form, #search').removeClass('active');
          }

          сделать возможность также и переходить к результатам поиска по клику на поле ввода?
          • 11 декабря 2019 г.
          • на клик повесить function(){
            $(this).parents('.js_search_form, #search').removeClass('ajax');
            $(this).parents("form").submit();
            }
            • 16 июля 2020 г.
            • Добрый день.Вставил ваш код и после нажатия происходит следующее
              {"data":{".search_result":"&lt;p&gt;u0418u0437u0432u0438u043du0438u0442u0435, u043du0438u0447u0435u0433u043e u043du0435 u043du0430u0439u0434u0435u043du043e.&lt;/p&gt;&lt;div class="page__row-zero"&gt;&lt;/div&gt;"},"empty":true,"js":[{"src":"http://ozgurt-71170.p2.gu3.ru/custom/my/modules/paginator/js/paginator.show_more.js","func":""}],"replace":false,"profiler":""}
              Подскажите как такое решить?
              • 16 июля 2020 г.
              • А что вы изначально хотите сделать?
  • 02 июля 2017 г.
    • 03 июля 2017 г.
    • а вот так делать не надо, есть стандартный функционал сайта, свой ajax, серверная сторона, MySql запросы, а по ссылке мягко говоря фигня.
      Есть доки, как писать модуль с аяксом, если уж так хочется написать свой поиск.
      Да и поиск который существует от диафана индексный, и соотвтетственно быстрее.
      • 03 июля 2017 г.
      • Выше я представил концепцию и принцип живого поиска а не готовый код для Diafan
      • 01 октября 2017 г.
      • Тому кто не умеет читать...
        На сайте по ссылке написано:
        Цитата
        Внимание
        Это самый простой пример живого поиска, который не рекомендуется использовать на своих сайтах...
  • 23 апреля 2018 г.
  • Привет всем! Возвращаюсь к вопросу ЖИВОГО ПОИСКА... У кого то есть реальный опыт реализации этой задачи?
  • 23 апреля 2018 г.
  • Всё! Всем спасибо! Александр (capitan) и Андрей (R4W) - ваши записи помогли! Почему то раньше не работало))) наверное поторопился.
  • 09 декабря 2018 г.
  • Приветствую, а можно сделать живой поиск для фильтра товаров? Т.е. чтоб товары отображались сразу без необходимости нажимать кнопку "Найти"?
    • 10 декабря 2018 г.
    • JS'ом по смене любого из элементов формы делать ей submit вот и все
    • 10 декабря 2018 г.
    • Могу предложить типа такого, может как-то короче можно описать

      Код
      $("#search").find("select, input")
      .change(function () {
      $("#search").submit();
      })
      .keyup(function(){
      $("#search").submit();
      });
      • 10 декабря 2018 г.
      • Я бы на change и на focus out
        • 10 декабря 2018 г. , редакция: 10 декабря 2018 г.
        • Могу ошибаться, но если ты кликаешь по checkbox, то фокус автоматом с нее не снимается, если ты не нажмешь в какой-то другой объект, ну и событие не будет отправляться

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум