JQueryUI自动完成选择事件不起作用

时间:2013-10-17 20:51:41

标签: jquery jquery-ui autocomplete jquery-1.4

我正在使用JQuery 1.4.2和JQueryUI 1.8.5。我知道最新版本中不存在此问题,但我们无法更改JQuery& UI版本。

我正在尝试在2行中显示自动完成项目 第1行 - 名称和第2行 - 地址

它显示我想要的2行,但当我选择该项时,它显示 ui.item为空错误。

代码如下:

$('#txtPractice').autocomplete({
         source: function (request, response) {
             $.ajax({
                 url: '/MyWebService.asmx/GetDataFromFreeText',
                 data: "{ 'name': '" + request.term + "'}",
                 dataType: "json",
                 type: "POST",
                 contentType: "application/json; charset=utf-8",
                 dataFilter: function (data) { return data; },
                 success: function (data) {
                     response($.map(data.d, function (item) {
                         return {
                             value: item.name,
                             id: item.id,
                             desc: item.address1
                         }
                     }))
                 },
             });
         },
         delay: 0,
         minLength: 2,
         select: function (event, ui) {
             $('#hdPracticeID').val(ui.item.id);
         }
     })
     .data("autocomplete")._renderItem = function (ul, item) {
         return $("<li>")
    .append("<a>" + item.value + "<br>" + item.desc + "</a>")
    .appendTo(ul);
     };
 }

如果我删除了渲染2行,.data(“autocomplete”)....的功能,它工作正常,可以选择项目,但我只得到1行。如果我放,当选择该项时, ui.item为空错误显示。我找不到满足我的要求的方法。

您能帮我建议最佳解决方案吗?感谢。

0 个答案:

没有答案