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

标签 jquery jquery-ui autocomplete

我正在使用 jQuery UI 自动完成小部件。 我需要在更改或选择后直接使用所选文本进行进一步处理。

但是当用户单击建议值时,输入的值就会被传递。

$( "#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())}
});

此 fiddle 的示例:(尝试输入“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);}

新 fiddle :http://jsfiddle.net/M3Yur/4/

关于鼠标单击后 jQuery UI 自动完成值是旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6300683/

相关文章:

javascript - 如何使用 jQuery 动画从上到下滑动不同的 div?

javascript - 动态添加字段到 HTML 表单、发送数据并记住添加的字段和值

javascript - 如何正确格式化复选框。 (最适合 jquery 和 crossbrowser)

jQuery UI slider : no pre-selection desired

在 Firefox 20.0 中加载 svg 文件时,jQuery TypeError : a. 样式未定义

javascript - 使用 jquery 在数组的范围内定期更改文本

jquery - mousedown 事件有时会在 jquery 可拖动元素上被压制

html - 在 UIWebView 中的 div 或 pre 标签中禁用自动更正

jquery - 如何更改搜索结果在下拉列表中的显示顺序

javascript - 谷歌地图 API : How to get street addresses only as results of Autocomplete