Фильтровать список по щелчку вместо ввода или нажатия - PullRequest
0 голосов
/ 06 мая 2020

Я нашел javascript, который позволяет пользователю выполнять поиск в моем древовидном меню. Однако мне нужно, чтобы он работал только по нажатию кнопки, а не по типу пользователя. Я знаю, как создать кнопку и добавить к ней OnCLick, но я не могу понять, как изменить мой рабочий сценарий, чтобы он запускался только при нажатии кнопки.

Вот рабочий сценарий (я должен дать li помечает класс, чтобы сценарий не пытался искать другие списки на странице):

<script type="text/javascript">
$(document).ready(function () {
    $("#search").on("input", function () {
        if (this.value.length > 0) {
            $("li.menusearch").hide().filter(function () {
                return $(this).text().toLowerCase().indexOf($("#search").val().toLowerCase()) != -1;
            }).show();
      }
        else {
            $("li.menusearch").show();
        }
    });
});

Вот ввод

<input type="search" id="search" name="search"/> 

1 Ответ

0 голосов
/ 06 мая 2020

Чтобы настроить сценарий для работы при нажатии кнопки, настройте его следующим образом (#button соответствует идентификатору вашей кнопки):

 $(document).ready(function () {
    $("#button").on("click", function () {
       if ($("#search").val().length > 0) {
           $("li.menusearch").hide().filter(function () {
              return $(this).text().toLowerCase().indexOf($("#search").val().toLowerCase()) != -1;
        }).show();
       }
       else {
          $("li.menusearch").show();
       }
   });
});
...