Использование автозаполнения в JQuery 1.7. Что-то ...
Использование сетки данных aspx: мне нужно было автозаполнение для запуска любой выбранной записи, но с другими начальными данными на основе введенного значения. Мне также потребовалось два других поля, которые отображаются в записи в сетке данных, чтобы получить мои данные для автозаполнения.
Все поля, на которые я должен ссылаться, имеют свое собственное имя класса.
$(".AutoSearch").autocomplete({
DateTime: "",
Maker: "",
search: function (event, ui) {
DateTime = $(this).parent().parent().parent().find(".DateTime").text();
Maker = $(this).parent().parent().parent().find(".Maker").text();
},
source: function (request, response) {
$.ajax({
type: "POST",
dataType: "json",
url: "AutoList.aspx/GetListOfAutos",
data: "{ " +
"'DateTime': '" + DateTime + "', " +
"'Maker': '" + Maker + "', " +
"'SearchSeed': '" + request.term + "', " +
"'NumberToRetrieve': '" + 100 + "'" +
" }",
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.Description,
value: item.Number
}
}));
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("There was an error retrieving the Data.");
}
});
},
change: function (event, ui) {
$(this).parent().parent().parent().parent().parent().parent().css("background-color", "#EEC900");
$(this).parent().parent().parent().parent().parent().parent().find(".chkReadyExport").find("input:checkbox").prop("checked", false);
},
select: function (event, ui) {
this.value = ui.item.value;
return false;
},
minlength: 6,
open: function () {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function () {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
}
Я добавил два свойства; DateTime и Maker, а затем с помощью поиска: который запускается до запуска источника автозаполнения: я смог получить нужные мне данные из строки, в которой я находился. Это дало мне хороший способ хранить все мои поисковые и дополнительные элементы данных в одном месте.
.parent (). Parent () и т. Д., Потому что у меня есть многострочные таблицы для отображения моих данных в виде сетки, и мне нужно пройти вверх по дереву, а затем найти текстовое поле или метку, которую я ищу и измените цвет фона строки с измененными данными. Я пока не умею находить предметы с помощью jQuery, поэтому parent.parent ... вещь.