我正在尝试配置自动完成插件,因此它会在搜索时发送一个额外的参数。我查看了autcomplete搜索事件,但没有找到关于这样一个函数需要做什么的文档,以便插件工作。
我尝试将console.log(...)插入搜索事件,但它不会出现在控制台中。
为了澄清,我想修改输入信件时发送到服务器的参数。
到目前为止我的代码是:
$('#contacts').autocomplete({
source: 'autocompleteContacts',
focus: function( event, ui ) {
$( "#contacts" ).val( ui.item.label );
return false;
},
select: function( event, ui ){
$( "#contacts" ).val( ui.item.label );
selectedID = ui.item.value;
return false;
},
search: function( event, ui ){
var str = '';
for(var attr in event){
str += attr.toString() + '\n';
}
console.log(str);
var str2 = '';
for(var attr in ui){
str2 += attr.toString() + '\n';
}
console.log(str2);
}
});
但正如我所说,虽然自动完成功能正常,但控制台中没有显示任何内容。
答案 0 :(得分:3)
我认为您正在寻找的是source
选项。您可以指定自己执行搜索的功能:
$("#autocomplete").autocomplete({
source: function (request, response) {
/* request.term is the search term, response is a callback function your
code must call with the results */
$.ajax({
url: "your_source_url",
dataType: "json",
data: {
term: request.term,
myData: "foobar"
},
success: response,
error: function() {
response([]);
}
});
}
});
remote with JSONP example是一个很好的起点。