У меня есть следующий код, который использует jquery ui autocomplete, проблема в том, что мне трудно установить второй автозаполнение на той же странице. Может кто-нибудь взглянуть на код и сообщить мне, что случилось? Верхняя часть работает нормально.
$(document).ready(function() {
var AccommObject = $("[id$='_txtAccommodation_txtStandard']")[0];
var Accommid = AccommObject.id;
var AccommidFull = "#" + Accommid;
var AccommObject2 = $("[id$='_txtInvoiceNo_txtStandard']")[0];
var Accommid2 = AccommObject2.id;
var AccommidFull2 = "#" + Accommid2;
$(AccommidFull).autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "RequisitionSearch.aspx/FetchAccommodationNameList",
data: '{"AccommodationName":"' + request.term + '"}',
dataType: "json",
success: function(data) {
response(
$.map(data.d, function(item) {
return {
id: item.ID,
label: item.Label,
value: item.Value,
ImageURL: item.ImageURL
};
})
);
},
error: function(result) { debugger; }
});
},
minLength: 2
});
$(AccommidFull2).autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "RequisitionSearch.aspx/FetchAccommodationInvoiceNoList",
data: '{"InvoiceNo":"' + request.term + '"}',
dataType: "json",
success: function(data) {
response(
$.map(data.d, function(item) {
return {
id: item.ID,
label: item.Label,
value: item.Value,
ImageURL: item.ImageURL
};
})
);
},
error: function(result) { debugger; }
});
},
minLength: 2
});
});
Это было очень раздражающим!
Часть $ ("[id $ = '_ txtAccommodation_txtStandard']") [0] использовала объект с нулевым индексом, но существовал элемент управления пользователя в форме, содержащей другое текстовое поле с точно таким же расширением, поэтому все, что мне нужно было сделать, это ссылка до $ ("[id $ = '_ txtAccommodation_txtStandard']") [1], и проблема решена!
var AccommObject = $("[id$='_txtAccommodation_txtStandard']")[0];
var Accommid = AccommObject.id;
var AccommidFull = "#" + Accommid;
var AccommObject2 = $("[id$='_txtInvoiceNo_txtStandard']")[0];
var Accommid2 = AccommObject2.id;
var AccommidFull2 = "#" + Accommid2;