当前位置: 首页 > 知识库问答 >
问题:

Jquery只自动完成一次post请求

叶阳
2023-03-14

我正在使用jquery自动完成。我对下面的代码不满意,因为肯定有更好的方法来做到这一点。(代码有效)

  1. 我希望用户在搜索框中输入3个字母
  2. 自动完成post参数和服务器响应
  3. 当我们有来自服务器的数据后,就没有理由再发布了。注意:每次用户添加新字母时,自动完成将保留postind数据
  4. 由于我有这些数据,我想将这些数据用作自动完成的源

下面的代码工作时有一个小问题。在选择一个时,它将显示在框中。当我使用backspace时,它不会刷新/填充建议。

问题:我如何使用自动完成只发布一次,并重复使用自动完成的响应和源?

如果有人能建议或指出我能读到的任何文件

谢谢


jquery-1.9.1.min.js
jquery-ui-1.10.0/jquery-ui.js

     $("#birds").autocomplete
    ({
    source: function(request, response) {
    $.ajax(
    {
    url: "page.aspx",
    data: {
    Para: request.term,
    GroupID: 11,
    rGUI: 'd9',
    rURL: 'domain.com/',
    task: 'get Stuff'
    },
    type: "POST",  
    dataType: "json",  
    success: function(data) {

    //response: function(item) {
    var arr = $.map(data, function(item) {
    return {
    label: item.LN60,
    value: item.LN60,
    NDC: item.NDC
    }
    });

    $("#birds").autocomplete({
    source: arr,
    minLength: 1
    });

    $("#birds").autocomplete({
    close: function(event, ui) {
    suggestDrugs_Request();
    }
    });

    }
    });
    },
    minLength: 2,
    select: function(event, ui) {
    log(ui.item ? "Selected: " + ui.item.value + 
    " aka " + ui.item.NDC : "Nothing selected, input was "
     + this.value);
    }
    });

共有1个答案

丁光华
2023-03-14

您应该做的不是将ajax调用添加到autocomplete的source属性,而是将autocomplete函数添加到ajax调用的回调:

$.ajax({
//all your other call settings
 success: function(data){
  //init autocomplete
  $('#birds').autocomplete({
       source: data,
       //all your other autocomplete settings
  });
 }
});
 类似资料:
  • 问题内容: 任何人都可以给我完整的步骤来使用jquery-ui自动完成功能。我正在使用grails 2.0.1。 我需要一个完整的示例,包括控制器和视图的代码。 提前致谢。 问题答案: 首先,您需要将main.gsp(在头部)添加到行中 插件将自动下载。 对于完整的示例,您可以使用此链接 http://jay-chandran.blogspot.com/2011/09/using-grails-w

  • 问题内容: 嗨,有人可以看一看,让我知道我要去哪里了。我正在尝试使jQuery UI自动完成工作。这是我的代码:这是search.php 这是我的JavaScript内联脚本 这是“汽车”股利 当我使用Firebug查看呼叫时,我看到search.php返回了 jQuery只是显示未定义的任何想法? 问题答案: 看看jquery ui自动完成文档 。您返回的JSON与自动完成功能所寻找的不匹配。您

  • 问题内容: 无法使jQuery自动完成小部件与Flask框架一起使用。(http://jqueryui.com/autocomplete/#remote这里是一个示例) 在manage.py中,我得到了以下内容: 我的index.html文件: 似乎firefox中的开发工具不会返回任何错误。终端返回以下内容: 小部件不起作用。由于我对jQuery知之甚少,所以我不知道是什么原因导致了问题。有人可

  • 我正在使用Laravel。自动完成速度很慢。我知道这可能是因为我的数据库有很多信息。我在表中总共有38432行。但是我确信脸书、推特等比我拥有更多。 如何加快自动完成的速度? 这是我的代码: JavaScript:

  • 问题内容: 即时通讯在JSON中获取响应,但这不会解析JSON响应。我在做什么错?我在doc http://docs.jquery.com/Plugins/Autocomplete上找不到任何内容 问题答案: 检查dataType和parse选项。

  • 问题内容: 好吧,我一直在为此绞尽脑汁(这太糟糕了),但是我一直尝试阅读我所能而且仍然无法使它起作用的内容。 试图用jQuery UI做自动完成 我的json看起来像这样 我正在尝试将此信息用作自动完成的来源。我得到的响应对象很好,我很难以正确的格式获得它,因此我可以将“ ”放在与“值”相关联的隐藏字段中,该字段需要显示为“值”的一部分落下。 尝试了一百万种不同的方法,但最近的尝试却在下面 请多谢