【问题标题】:Display results only on search仅在搜索时显示结果
【发布时间】:2017-04-01 02:34:18
【问题描述】:

我需要搜索结果 div 仅在返回搜索结果时显示(而不是在用户搜索术语时),然后能够在搜索新术语时清除结果 div。

我应该可以使用 $(".results").empty() 之类的东西,但这会使结果 div 始终为空白。

$("#searchterm").keyup(function(e) {
  var q = $("#searchterm").val();
  //Only begin search with at least 3 characters.
  if (q.length > 3) {
    ajax_search();
  }
  //Send search query
  function ajax_search() {
    $.getJSON("//url-to-search?q=" + q, {},
      //Get results and make 'em look good
      function(data) {
        console.log(data);
        //  $(".results").append("Results for <b> " + q + "</b>");
        $.each(data.data, function(i, data) {
          if (data.type === "category-1") {
            if ($(".category-1").text() == '') {
              $(".category-1-results-header, .category-1").hide()
            }
            $(".category-1").append("<li class='result-item'><a href=\"localhost:4000" + data.permalink + "\">" + data.title + "</a></li>");
          } else if (data.type === "category-2") {
            $(".category-2").append("<li class='result-item'><a href=\"localhost:4000" + data.permalink + "\">" + data.title + "</a></li>");
            if ($(".category-2").text() == '') {
              $(".category-2-results-header, .category-2").hide()
            }
          } else if (data.type === "category-3") {
            $(".category-3").append("<li class='result-item'><a href=\"localhost:4000" + data.permalink + "\">" + data.title + "</a></li>");
            if ($(".category-3").text() == '') {
              $(".category-3-results-header, .category-3").hide()
            }
          }
        });
      });
  }
});

JSFIDDLE:LINK

【问题讨论】:

  • 您可以在用户单击元素时包含&lt;button&gt; 或其他元素来执行请求,而不是使用keyup 事件,如果input 元素.length 大于@987654328 则发出请求@

标签: javascript jquery ajax getjson


【解决方案1】:

尝试做类似的事情

if (q.length > 3) {
    ajax_search();
} else {
    $(".results").empty();
}

【讨论】:

  • 当用户键入.lengthq 大于3 时,该方法仍会发出请求?
  • 这样做通常会清除结果。我需要隐藏&lt;div class="results"&gt;&lt;/div&gt;,直到用户输入超过三个字符,并在用户输入新查询时清除每个结果div
猜你喜欢
  • 2019-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多