鼠标单击后jQuery UI自动完成值是旧值

问题描述

| 我正在使用jQuery UI Autocomplete小部件。 我需要使用选定的文本进行进一步处理,更改或选择后直接使用。 但是,当用户单击建议值时,将传递键入的值。
$( \"#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())}
});
摆弄这个例子:(尝试输入\“ tes \”并用鼠标选择一个建议) http://jsfiddle.net/M3Yur/ 我需要使用输入值。更改事件使用输入值,在选择自动完成项的两种情况下,以及在仅键入一个值的情况下,它都需要工作,因此警报仅作为示例。 有什么办法解决这个问题? 编辑: 我最终使用:
$(this).val(ui.item.value).val();
解决方案始终在发生更改事件后获得预期值。     

解决方法

        更改此:
select: function (event,ui) { alert($(this).val())}
对此:
select: function (event,ui) {alert(ui.item.value);}
新提琴:http://jsfiddle.net/M3Yur/4/     ,        
ui
参数包含您要查找的信息:
select: function (event,ui) { alert(ui.item.value); }