Подтвердить что ты не робот

Jquery autocomplete получить выбранный текст элемента

Мне интересно, как захватить выбранное значение текста элемента в автозаполнении jquery.

Я инициализировал jquery следующим образом:

$(document).ready(function (){
    $("input#autocomplete").autocomplete({
        source: postcodelist,
        select: function (event, ui) {
            AutoCompleteSelectHandler(event, ui)
        }
    });
});

И я создал функцию function AutoCompleteSelectHandler (event, ui) {}.

Внутри этой функции я хочу выполнить некоторую дополнительную обработку для подачи данных в правильные текстовые поля, но я не могу понять, как захватить текстовое значение выбранного элемента.

Я сделал google немного и попробовал примеры, но я не могу заставить его работать.

Любая помощь будет очень оценена.

Большое спасибо.

4b9b3361

Ответ 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()