当前位置: 首页 > 面试题库 >

如何在JQuery UI自动完成中使用source:function()…和AJAX

卫子平
2023-03-14
问题内容

我需要有关JQuery UI自动完成功能的帮助。我希望我的文本字段(.suggest-user)显示来自AJAX请求的名称。这就是我所拥有的:

jQuery("input.suggest-user").autocomplete({
    source : function(request, response) {
        var name = jQuery("input.suggest-user").val();
        jQuery.get("usernames.action?query=" + name, function(data) {
            console.log(data);  // Ok, I get the data. Data looks like that:
            test = data;        // ["one@abc.de", "onf@abc.de","ong@abc.de"]
            return test;        // But what now? How do I display my data?
        });
    },
    minLength : 3
});

很感谢任何形式的帮助。


问题答案:

在您的AJAX回调内部,您需要调用该response函数;传递包含要显示项目的数组。

jQuery("input.suggest-user").autocomplete({
    source: function (request, response) {
        jQuery.get("usernames.action", {
            query: request.term
        }, function (data) {
            // assuming data is a JavaScript array such as
            // ["one@abc.de", "onf@abc.de","ong@abc.de"]
            // and not a string
            response(data);
        });
    },
    minLength: 3
});

如果响应JSON与jQueryUI自动完成功能接受的格式不匹配,则必须在将结果传递给响应回调之前在AJAX回调内部转换结果。



 类似资料:
  • 我有一个有很多项目的组合框。出于演示的目的,让我们说“一”、“二”、“三” 我希望用户能够键入文本“e”,并将完成选项减少到包含字母“e”的任何内容。从第一个字母完成它很容易:将组合框样式设置为下拉列表以允许键入文本,将自动完成源设置为列表项,自动完成模式设置为建议追加。 但是,如何扩展功能以允许搜索包含用户文本而不是以用户文本开头的项目? 是否有替代的免费(最好是开源)组合框组件可以做到这一点?

  • 问题内容: 也许您可以解决一些Ajax问题。 我有AUTO COMPLETE代码-我输入城市名称,该代码会自动为我完成城市名称,还获取城市ID,并应将其放入隐藏的输入字段中(名称=“ cityID”)…但它没有做到这一点。 你能告诉我为什么吗? html代码: 服务器端(仅输出): 脚本: 您可以在这里找到完整的JS: 问题答案: 尝试对ajax_response_city使用div而不是span

  • 我试图用datalist html创建一个自动完成。这是我代码:

  • 问题内容: 遵循了如何安装GoClipse 的说明。 我写的本地包,内置的东西或GAE的东西都没有发生任何自动完成的事情(按照Wiki的说明,我已将Go src下载到SDK文件夹中)。 我是否可以检查任何设置以确保设置正确?自动完成功能应该在当前版本中工作吗? 问题答案: 正如您链接到的带有AppEngine的GoClipse文章所述: 我们假定读者拥有在其Eclipse环境中运行的GoClips

  • 问题内容: 我已经看到许多有关通过JSON传递带有标签和值属性的数组的问题,但关于传递字符串的问题并不多。我的问题是我似乎无法填写自动填充内容。我运行了一个转储函数,并通过JSON将这些样本值传递给自动完成功能: 这是一些代码: 这是fill_id.php: 我的自动完成功能保持空白。如何更改JSON数组以填充它?还是我的ajax成功函数中包含什么? 问题答案: 您可以非常坚持jQueryUI的自

  • 问题内容: 在jQuery UI 1.8.4之前,我可以在为使用自动完成功能而构建的JSON数组中使用HTML。 我能够做类似的事情: 那会在下拉菜单中显示为红色文本。 从1.8.4开始,这不起作用。我找到了,该页面告诉我在这里使用自定义HTML示例,但我并不幸运。 如何使HTML显示在建议中? 我的jQuery是: 我的JSON数组包含HTML,如下所示: 问题答案: 将此添加到您的代码: 因此