#javascript #jquery #asp.net
#ajax #asp.net-mvc-4 #jquery-ui-автозаполнение
Вопрос:
У меня есть текстовое поле автозаполнения, которое использует 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, чтобы получить конкретную информацию об этом элементе и заполнить другие текстовые поля на странице.
Каков наилучший подход для этого?
Ответ №1:
Вы можете сделать это в 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
});
}
});
});