理解,jquery-ui-autocomplete,有人可以试着解释一下这段代码吗?

时间:2012-05-14 16:11:35

标签: jquery jquery-ui-autocomplete

我只是在服务器端用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

1 个答案:

答案 0 :(得分:2)

获取响应数据,获取d对象属性(数组),迭代它,并为该数组中的每个项创建一个具有项value属性的对象{ {1}}属性。

$.map call将所有这些对象放入数组并将其发送到serial函数(自动完成插件的IIRC部分,用于吐出完成)。

response参数只是一个包含搜索词的对象,或“文本输入中的内容”。这在autocomplete overview docs

中有所描述