javascript - Ajax/jQuery 实时搜索正在复制输出结果

标签 javascript jquery ajax json

我目前正在使用 AjaxjQuery 实时搜索来查找 JSON 文件中的结果。脚本工作正常,但这只是一个问题 - 它重复结果数据。

示例:

Results

标记:

<div class="row">
  <h3>Live Search Results</h3>
  <div id="update-results">
  <p>event_name | club_name | memberid</p>
    <ul id="update">
      <!-- <li><a href="#"></a></li> -->
    </ul>
  </div>
</div>

脚本:

$('#search').keyup(function() {
    var searchField = $('#search').val();
    var $update = $('#update');
    $update.empty();

    $.get("getEventsWithVideos.php?text=" + searchField, function(data) {
      var vals = jQuery.parseJSON(data);

        if($.isArray(vals['Event'])) {
          $.each(vals['Event'], function(k,v){
            $update.append("<li value='"+v['id']+"'><a href='#'>" + v['event_name'] + "</a></li>");
          });
        } else { 
            $update.append("<li value='"+vals['Event']['id']+"'><a href='#'>" + vals['Event']['event_name'] + "</a></li>");
        }

    });
});

我尝试过调试并停止错误,但没有成功。谁能帮我解决这个问题吗?

最佳答案

将empty()放入响应处理程序中:

$.get("getEventsWithVideos.php?text=" + searchField, function(data) {
     $update.empty();

基本上,您会在每次击键时清除列表(快速),然后请求数据,然后(稍后)附加返回的结果(根据时间的不同,可能是多个结果) .

关于javascript - Ajax/jQuery 实时搜索正在复制输出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27108725/

相关文章:

javascript - 在表单输入中指定逗号后的最大长度

c# - 嵌套更新面板 : Why does ChildrenAsTriggers have no effect?

ruby-on-rails - 在 Ruby 中卡住一个随机数

PHP/jQuery 提交/保存包含所有特殊字符值的输入

javascript - 从外部清除 IE 浏览缓存

javascript - 如何使用 JavaScript 将背景图像在不同屏幕分辨率的网页上居中?

javascript - 'mousedown' 的 addEventListener 与 'click' 的 addEventListener 不同

javascript - 在 html 文本后附加 img

jquery - 在 jQuery 中执行 ajax 请求时延迟加载微调器

javascript - HTML实现接受文本和图像的输入框