我有一个自动完成文本字段,它使用JSON,如下所示:
$(function () { var src = '@Url.Action("GetParts","Parts")' $("#autoCompleteBox").autocomplete({ source: function (request,response) { $.ajax({ url: src,async: true,dataType: "json",data: { partNumber: $("#autoCompleteBox").val() },success: function (data) { response(data[0]); } }); } }); });
我想要做的是当用户从建议列表中选择项目时,进行另一个ajax调用以获取有关该项目的特定信息并在页面上填充其他文本框.
对此最好的方法是什么?
解决方法
您可以在自动完成的选择事件中执行此操作.
$(function () { var src = '@Url.Action("GetParts","Parts")' $("#autoCompleteBox").autocomplete({ source: function (request,response) { $.ajax({ url: src,data: { partNumber: $("#autoCompleteBox").val() },success: function (data) { response(data[0]); } }); },select: function (event,ui) { var item= ui.item.label; //Now make the ajax call here $.post("SomeValidUrl",new { id : item },function(res){ // do something with res }); } }); });