我有一个自动完成的文本字段,使用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调用,以获取有关该项目的特定信息并填充页面上的其他文本框。
最好的方法是什么?
您可以select在自动完成时执行此操作。
select
$(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]); } }); }, 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 }); } }); });