Прочитав сценарий автозаполнения пару раз, я решил, что должен быть в состоянии вернуть значение ввода, данное функции в первую очередь.
Вот начало функции:
jQuery.autocomplete = function(input, options) {
// Create a link to self
var me = this;
// Version
var version = 1.6;
// Create jQuery object for input element
var $input = $(input).attr('autocomplete', 'off');
На основании его использования я предположил, что input был выбран элемент input: textbox. Я чем искал код для OnItemSelect и нашел:
if (options.onItemSelect) {
setTimeout(function() {
options.onItemSelect(li)
}, 1);
}
Чтобы открыть входную переменную с помощью элемента LI, я просто добавил его:
if (options.onItemSelect) {
setTimeout(function() {
options.onItemSelect(li, input)
}, 1);
}
Затем я мог бы просто получить элемент ввода для события onItemSelect.
$(function() {
var selectedId = "";
var inputId = "";
$('.ItemMatchText').autocompleteArray(ItemArray, {
autoFill:true,
matchContains:true,
onItemSelect: function(data1, inputElm) {
selectedId = data1.extra[0]; // Get the next column of in data row
inputElm = inId.id; // Get the input's Id!
}
});
//...
});
Вероятно, это не лучший способ сделать это, но в этом случае это сработало. Конечно, мне нужно заново минимизировать файл.