javascript - "Term"特性中传入的默认 "jquery UI autocomplete"名称是否可以更改?

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

我正在尝试使用 jquery ui 自动完成功能更改默认设置的“术语”字段。是否可以轻松将其更改为“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> 

最佳答案

是的,可以通过发出您自己的 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

关于javascript - "Term"特性中传入的默认 "jquery UI autocomplete"名称是否可以更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791968/

相关文章:

javascript - 延迟进度指示器

javascript - jquery如何对日期进行排序

jquery - 为什么这个对话框的样式困惑?

jquery - 饼中饼( donut )图表

javascript - Chart.js - 水平移动/交错标签(对于 x 轴)而不是旋转

javascript - JavaScript 中的 GSP 标签

javascript - 运行 Javascript Asyn 以便页面不会阻塞

javascript - 在 WebView 中打开一个弹出窗口

javascript - 帮助 Mootools Gallery - 过渡文本

javascript - 我如何从ajax加载的JQuery ui选项卡中获取此方法