首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更改jQuery UI自动完成的查询参数

更改jQuery UI自动完成的查询参数
EN

Stack Overflow用户
提问于 2011-07-13 14:36:11
回答 2查看 12.9K关注 0票数 19

我使用的是1.8.13版本的jQuery UI的自动完成,默认情况下jQuery使用查询参数"?term=“,而我的应用程序在它创建的字符串中使用"?q=”。我可以在后端将变量更改为"term“,但我更愿意只告诉jQuery服务器正在尝试向它发送什么。有没有办法改变这一点?

现在我只有这样的东西,如果我在后台将变量改为"term“,它就会起作用,但就像我说的,我想把它改为"q”,但我在网上找不到任何关于设置参数的信息(这是可行的):

$( "#input-search").autocomplete({
   source: "/search/autocomplete/"
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-13 14:56:32

您可以使用callback form of source并自己处理与服务器的所有交互。如下所示:

$("#input-search").autocomplete({
    source: function(request, response) {
        $.get('/search/autocomplete', { q: request.term }, function(data) {
            response(data.split('\n'));
        });
    }
});
票数 27
EN

Stack Overflow用户

发布于 2011-07-20 00:09:14

上面的答案是一个很好的简单示例,它帮助我在我的应用程序上获得了这个结果,它从显示自动完成结果的响应数据中生成一个无序列表:

$("#input-search").autocomplete({
   source: function(request, response) {
      $.ajax({
         url: "/search/autocomplete",
         dataType: "json",
         data: {
            q: request.term
         },
         success: function(data) {
            response(data);
         }
      });
   },
}).data("autocomplete")._renderItem = function(ul, item) {
    $(ul).attr('id', 'search-autocomplete');
       return $("<li class=\""+item.type+"\"></li>")
       .data( "item.autocomplete", item )
       .append("<a href=\""+item.url+"\">"+item.title+"</a>").appendTo(ul);
    };
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6674971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档