我正在尝试使用 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/