我只是在服务器端用VB.net实现jquery-ui-autocomplete,但这是因为我按照一个例子,是否有人可以尝试解释(对于dummys)它是如何工作的代码?,第一部分不知道它在回归中(成功事件):
$("#kSerial").autocomplete({
source: function (request, response) {
dataFromServer = "";
$.ajax({
type: "POST",
url: URL + 'regresaSeriales',
async: false,
contentType: "application/json; charset=utf-8",
data: "{" + "'serial':'" + request.term + "'" + "}",
dataType: "json",
success: function (msg) {
/*This is the part I just don't get it*/
response($.map(msg.d, function (item) {
return {
value: item.serial
};
}));
/*and ends here*/
},
error: function () {
serial = 0;
}
})
},
在我的服务器端,我返回一个“串行”对象列表(List(of T)),它工作正常。
我只是按照一个例子并适应我的服务器端代码,但我不知道返回部分是如何工作的,我的意思是我理解“source”属性接受回调,但是无法实现它如何在ajax请求的成功事件中运行代码。
实际上我没有得到回调中2个参数的原因,尤其是“请求”,(请求,响应)。
这是我基于我的代码的教程:http://www.dotnetcurry.com/ShowArticle.aspx?ID=515
答案 0 :(得分:2)
获取响应数据,获取d
对象属性(数组),迭代它,并为该数组中的每个项创建一个具有项value
属性的对象{ {1}}属性。
$.map
call将所有这些对象放入数组并将其发送到serial
函数(自动完成插件的IIRC部分,用于吐出完成)。
response
参数只是一个包含搜索词的对象,或“文本输入中的内容”。这在autocomplete overview docs。