Значение jQuery UI Autocomplete после того, как щелчок мыши является старым значением - PullRequest
3 голосов
/ 10 июня 2011

Я использую виджет автозаполнения пользовательского интерфейса jQuery.Мне нужно использовать выделенный текст для дальнейшей обработки, сразу после изменения или выбора.

Но когда пользователь щелкает предлагаемое значение, введенное значение передается.

$( "#autocomplete" ).autocomplete({
source: function( req, resp ) {
    $.post( "/echo/json/", {
        json: '["Test1", "Test2", "Test3", "Test4", "Test5"]',
        delay: 1
    }, function(data) {
        resp( data );
    }, "JSON" );
},
select: function (event, ui) { alert($(this).val())}
});

Пример наthis fiddle: (попробуйте ввести «tes» и выбрать предложение мышью)

http://jsfiddle.net/M3Yur/

Мне нужно использовать входное значение.Событие изменения использует входное значение, оно должно работать в обоих случаях, когда выбирается элемент автозаполнения, но также и когда набирается только значение, поэтому предупреждение только для примера.

Любой способ обойтиthis?

РЕДАКТИРОВАТЬ: я закончил с использованием: $(this).val(ui.item.value).val(); это решение всегда получает предполагаемое значение после события изменения.

Ответы [ 2 ]

4 голосов
/ 10 июня 2011

Изменить это:

select: function (event, ui) { alert($(this).val())}

К этому:

select: function (event, ui) {alert(ui.item.value);}

Новая скрипка: http://jsfiddle.net/M3Yur/4/

2 голосов
/ 10 июня 2011

Аргумент ui содержит информацию, которую вы ищете:

select: function (event, ui) { alert(ui.item.value); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...