【发布时间】:2014-05-08 13:47:34
【问题描述】:
您好,我有下面的自动完成代码,它工作正常,但我唯一的问题是,当用户点击自动完成列表中的选项时,它应该触发另一个函数 (doSomething())。然而,这并没有被完成。如果用户做出选择并按下“enter”,则授予该功能。
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() {
}
感谢您的任何建议。
【问题讨论】:
-
不能直接把回调函数赋值为
select: doSomething -
@log1c 我试过了,但对我不起作用。
标签: javascript jquery jquery-ui autocomplete