2013-03-11 67 views
0

我有以下代码将自动完成添加到我的文本框,自动完成显示和一切正常,但是当用户选择一个项目选择回调不会被调用? 任何解决方案?JQuery - 选择自动完成功能没有被调用?

$(function() { 

$("#txtItem").autocomplete({ 
    minLength: 1, 
    source: function (request, response) { 
     $.ajax({ 
      url: "/Correct url here", 
      dataType: "json", 
      data: { 
       term: request.term 
      }, 
      success: function (data) { 
       response($.map(data, function (item) { 
        return { 
         label: item.Name, 
         value: item.Name 
        } 
       })) 
      }, 
      select: function (event, ui) { 
       alert("sdfsdf"); 
       //$("#txtItemId").val(ui.item.value.ItemId); 
      } 
     }) 
    } 
}) 

} 
+1

你的选择是对的参数你的ajax呼叫,而不是你的自动完成呼叫。 – cjc343 2013-03-11 18:11:44

+0

@ cjc343不能相信我花了2个小时试图找出答案。谢谢 – aryaxt 2013-03-11 18:16:03

回答

2

重写代码是这样的:

$(function() { 

$("#txtItem").autocomplete({ 
    minLength: 1, 
    source: function (request, response) { 
     $.ajax({ 
      url: "/Correct url here", 
      dataType: "json", 
      data: { 
       term: request.term 
      }, 
      success: function (data) { 
       response($.map(data, function (item) { 
        return { 
         label: item.Name, 
         value: item.Name 
        } 
       })) 
      }    
     }) 
    }, 
    select: function (event, ui) { 
     alert("sdfsdf"); 
     //$("#txtItemId").val(ui.item.value.ItemId); 
    } 
}) 

} 

让我知道,如果它的工作

+0

仍然缺少一堆分号。 – cjc343 2013-03-11 18:14:20

+2

@ cjc343但它仍然有效的Javascript – 2013-06-26 19:34:53

2
$(function() { 

$("#txtItem").autocomplete({ 
minLength: 1, 
source: function (request, response) { 
    $.ajax({ 
     url: "/Correct url here", 
     dataType: "json", 
     data: { 
      term: request.term 
     }, 
     success: function (data) { 
      response($.map(data, function (item) { 
       return { 
        label: item.Name, 
        ItemId: item.ItemId//this is will put item id in memory 
       } 
      })) 
     }    
    }) 
},//this is after the source property select is an auto complete property many examples screw this up and it is in side the ajax block of code 
select: function (event, ui) { 
    alert("sdfsdf"); 
    //$("#txtItemId").val(ui.item.value.ItemId); 
    } 
    })} 

这里是一个工作示例http://plnkr.co/edit/RbuRDh1xRIwyO1QamvCe?p=preview

相关问题