Javascript 对从jQuery ui自动完成选项列表中选择的选项执行函数
您好,我有下面的autocomplete代码,它可以正常工作,但我唯一的问题是,当用户单击autocomplete列表中的一个选项时,它应该触发另一个函数(doSomething())。然而,这并没有实现。如果用户做出选择并按下“回车”键,则该功能被执行Javascript 对从jQuery ui自动完成选项列表中选择的选项执行函数,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,您好,我有下面的autocomplete代码,它可以正常工作,但我唯一的问题是,当用户单击autocomplete列表中的一个选项时,它应该触发另一个函数(doSomething())。然而,这并没有实现。如果用户做出选择并按下“回车”键,则该功能被执行 var url = "http://myURL"; var field = "myField"; $(document).ready(function () { $("#tags").autocomplete({ sour
var url = "http://myURL";
var field = "myField";
$(document).ready(function () {
$("#tags").autocomplete({
source: function (req, add) {
var suggestions = search(req.term, url, field);
add(suggestions);
},
select: function( event, ui ) {
doSomething();
}
});
});
function search(value, listurl, field) {
var coll = new Array();
var url =
listurl + "?$filter=startswith(" + field + ",'" + value + "')";
$.ajax({
cache: true,
type: "GET",
async: false,
dataType: "json",
url: url,
success: function (data) {
var results = data.d.results;
for (att in results) {
var object = results[att];
for (attt in object) {
if (attt == field) {
coll.push(object[attt]);
}
}
}
}
});
return coll;}
function doSomething() {
}
谢谢你的建议。这样解决了这个问题:
$('#tags').on('keyup change', function () {
doSomething();
}).change();
$('#tags').on('autocompleteselect', function (e, ui) {
doSomething();
});
由于这个我知道这是一个老话题,但我遇到了这个问题,我找到了另一个解决方案,我相信JQuery提供了这个解决方案。您可以使用
close
事件来执行此操作
示例(摘自本问题并适用于本问题):
1) 当您初始化自动完成时
$( "#tags" ).autocomplete({
close: function( event, ui ) { doSomething(); }
});
或
2) 将侦听器绑定到关闭事件
$( "#tags" ).on( "autocompleteclose", function( event, ui ) { doSomething(); } );
你不能直接将回调函数赋值为
select:doSomething
@log1c吗?我试过了,但没有成功。