搜索栏适用于用户

时间:2017-07-25 15:36:18

标签: javascript search

我试图让搜索栏中包含两种行为:

  1. 用户在搜索栏中输入值
  2. 用户可以点击多个列表中的元素
  3. 案例1.工作得很好。

    案例2.现在,用户需要点击enter来验证搜索。 但是我想在输入字段中输入值后立即显示结果,因此用户不必输入。

    对此的任何帮助将不胜感激。谢谢!

    以下是代码:

    function recherche(){
      var search = $('#search').val();
      if(search.length < 1) {
        return null;
      };
    
      var results = json.filter(function (el) {
        var s = search.toLowerCase().split(" ");
        for (var key in el) {
          for (var i=0; i < s.length; i++) {
            if (el[key].toLowerCase().indexOf(s[i]) != -1) {
              s.splice(i,1);
              i--;
              if (!s.length) return true;
            }
          }
        }
        return false;
      });
      displaySearchResults(results);
    };
    
    var items = document.getElementById("filter");
    var item = items.getElementsByTagName("li");
    for(var i=0; i<item.length; i++) {
      item[i].addEventListener("click", function(e) {
        console.log(this.textContent || this.innerText);
        document.getElementById("search").value = (this.textContent || this.innerText);
      });
    }
    
    $(function() {
      recherche();
      $('#search').keyup(recherche);
    });
    

0 个答案:

没有答案