Jquery autocomplete получить выбранный текст элемента
Мне интересно, как захватить выбранное значение текста элемента в автозаполнении jquery.
Я инициализировал jquery следующим образом:
$(document).ready(function (){
$("input#autocomplete").autocomplete({
source: postcodelist,
select: function (event, ui) {
AutoCompleteSelectHandler(event, ui)
}
});
});
И я создал функцию function AutoCompleteSelectHandler (event, ui) {}.
Внутри этой функции я хочу выполнить некоторую дополнительную обработку для подачи данных в правильные текстовые поля, но я не могу понять, как захватить текстовое значение выбранного элемента.
Я сделал google немного и попробовал примеры, но я не могу заставить его работать.
Любая помощь будет очень оценена.
Большое спасибо.
Ответы
Ответ 1
Параметр ui
имеет свойство item
с выделенным текстом
function AutoCompleteSelectHandler(event, ui)
{
var selectedObj = ui.item;
alert(selectedObj.value);
}
source: http://jqueryui.com/demos/autocomplete/#event-select перейдите на вкладку "События", а затем событие "Выбрать"
Ответ 2
// list of clients
$( "#client" ).autocomplete({
source: "lib/getClientList.php",
minLength: 2,
select: function(event, ui) {
alert(ui.item.value);
}
})
;
ui.item.value - это ссылка, которую jquery использует для назначения значения входному
Ответ 3
Вам не нужно применять анонимную функцию в качестве обертки, вы можете напрямую передать функцию ref.
$(document).ready(function (){
$("input#autocomplete").autocomplete({
source: postcodelist,
select: AutoCompleteSelectHandler
});
});
В этом методе вы можете либо получить доступ к this
, либо event.target
, чтобы получить текущее значение, оба значения ссылаются на элемент ввода:
function AutoCompleteSelectHandler(event, ui) {
alert( $(event.target).val() );
alert( $(this).val() );
// alert( this.value );
}
Ответ 4
Вы просто извлекаете значение из ввода так же, как если бы пользователь сам набрал его:
$('input#autocomplete').val()