Я пытаюсь передать дополнительные параметры в свой Ashx при использовании автозаполнения Jquery UI.Я видел много примеров и потратил целую вечность, но я не могу заставить мою работать.
У меня есть два текстовых поля с автозаполнением, все, что вводится в первом, должно сузить поисквторой.
В моем первом текстовом поле автозаполнения все работает нормально, и возвращаемый идентификатор устанавливается в скрытое поле.
$("#<%=txtSearch1.ClientID%>").autocomplete('/Search1.ashx');
$('#<%=txtSearch1.ClientID%>').result(function (event, data, formatted)
{
if (data) {
var id = data[1];
$("#<%=hdnSearched1.ClientID%>").val(id);
}
});
Я хочу использовать значение скрытого поля вдольсо значением, которое пользователь вводит во второе текстовое поле, чтобы выполнить поиск второго автозаполнения
Сначала я попробовал это:
$("#<%=txtSearch2.ClientID%>").autocomplete('/Search2.ashx',{
extraParams: { "Id": $("#<%=hdnSearched1.ClientID%>").val() }});
Это вызвало мой аш, но идентификатор в экстрапарамах былпустой.Немного погугливости сказал мне, что это потому, что это было установлено, когда страница загружалась, поэтому значение для дополнительного параметра было задано до того, как я установил значение скрытого поля.
Я сделал немного больше, поиск и поиск, ипридумали что-то вроде этого, что многие люди, кажется, используют.
$('#<%=this.txtSearch2.ClientID %>').autocomplete({
source: function (request, response)
{
$.ajax({
url: '/Search2.ashx',
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
data: {
term: request.term,
sId: $("#<%=hdnSearched1.ClientID%>").val()
},
success: function (data)
{
response(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert(textStatus);
}
});
}
});
Проблема в том, что это даже не увольняет пепла!Я возился с этим целую вечность, следуя примеру за примером, но я не могу понять, что я делаю неправильно!Я уверен, что это должно быть очевидно!
Кто-нибудь может помочь?