我正在使用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”并通过鼠标选择建议)
我需要使用输入值。更改事件使用输入值,它在两种情况下都需要在选择自动填充项目时工作,而且只需键入一个值,因此警报仅用于示例。
有什么方法可以解决这个问题吗?
编辑:
我最终使用:$(this).val(ui.item.value).val();
此解决方案始终在更改事件后获得预期值。
答案 0 :(得分:4)
改变这个:
select: function (event, ui) { alert($(this).val())}
对此:
select: function (event, ui) {alert(ui.item.value);}
答案 1 :(得分:2)
ui
参数包含您要查找的信息:
select: function (event, ui) { alert(ui.item.value); }