Как заставить поиск работать только при нажатии enter?

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

У меня есть окно поиска, и я использую этот код, чтобы показать результаты из базы данных mysql с почти 9 000 000 raw, но поскольку у меня большая база данных, я хочу, чтобы она показывала результаты только тогда, когда кто-то вводит слово, а затем нажимает enter, и никаких данных не отображалось, когда кто-то открывает страницу. По умолчанию это окно поиска в реальном времени прямо сейчас

Это мой код: но он не работает?

 $('#search_text').keyup(function(){
    var search = $(this).val();
    if(search != '')
    if (event.key === "Enter")
    {
        load_data(search);
    }
    else
    {
        load_data();            
    }

});
  

Комментарии:

1. это потому, что ваш прослушиватель настроен на keyup. Поместите его в button div с помощью прослушивателя отправки

Ответ №1:

Просто удалите load_data вызов в вашей else и return из функции:

 $('#search_text').keyup(function(){
  var search = $(this).val();
  if(search != '') {
    if (event.key === "Enter") {
      load_data(search);
    } else {
      return;
    }
  }
});
  

Комментарии:

1. Это потому, что в вашем $(document).ready() , вы вызываете load_data() . Удалите это.

2. вау, это так потрясающе, я потратил на это целый день: D спасибо