У меня есть поле автозаполнения с использованием локальных данных JSON.
$( "#tags" ).autocomplete({
source: get_items,
minLength: 2,
dataType: 'json'
});
function get_items(request, callback) {
var result = new Array;
var myregexp = new RegExp('^' + request.term, "i");
for(var i = 0; i < keywords.length; i++) {
if (myregexp.test(keywords[i].name)) {
var item = { label: keywords[i].name,
id : keywords[i].id
};
result.push(item);
}
}
callback(result);
return result;
}
Что я не могу выяснить (я сделал RTFM), так это как я могу получить идентификатор выбранного элемента откуда-то «снаружи». Я имею в виду не от автозаполнения обратных вызовов, а от какой-то не связанной функции где-то еще.
Надеюсь, я чист.
что-то вроде:
function i_do_something_with_the_selected_item() {
var seleted_id = $( "#tags" ).get_selected_id();
if (typeof selected_id === 'undefined') {
// nothing selected - act accordingly
} else {
// do something with the selected value
}
}