可以默认" Term"在" jquery UI自动完成"中传递的名称功能有变化吗?

时间:2012-05-29 01:03:41

标签: javascript jquery jquery-ui autocomplete jquery-ui-autocomplete

我正在尝试更改默认情况下使用jquery ui自动完成功能设置的“term”字段。是否可以轻松地将其更改为“q”(查询)而无需在“核心”文件中更改它?

JavaScript的:

<script>
    $(function() {
        $( "#spotify_song_search" ).autocomplete({
            source: "http://ws.spotify.com/search/1/track.json",
            data: { 
                q: request.term 
            },
            dataType: "getjson",
            minLength: 3,
            select: function( event, ui ) { 
                alert('select'); 
            }
        });
    });
</script> 

2 个答案:

答案 0 :(得分:16)

是的,可以通过制作自己的AJAX请求。

假设您有以下设置:

$("#myfield").autocomplete({
    source: '/my_url/myservice.xyz'
});

默认情况下自动填充(如您所见)会发送如下所示的请求:

  

myservice.xyz?term=abc“

您可以提供自动填充的source选项的功能参考。在该函数内部,您可以创建自己的AJAX请求,如下所示:

$("#myfield").autocomplete({
     source: function (request, response) {
         // request.term is the term searched for.
         // response is the callback function you must call to update the autocomplete's 
         // suggestion list.
         $.ajax({
             url: "/my_url/myservice.xyz",
             data: { q: request.term },
             dataType: "json",
             success: response,
             error: function () {
                 response([]);
             }
         });
     });
});

这应该生成一个更像是:

的请求
  

myservice.xyz?q=abc

答案 1 :(得分:-1)

您可以使用回调source选项并提出自己的请求。

http://jqueryui.com/demos/autocomplete/