javascript - 如何从 onchange 事件外部获取 jQuery UI 自动完成值?

标签 javascript jquery jquery-ui select autocomplete

我正在使用 jQuery UI 1.12。我有一个输入字段,我使用代码将其转换为自动完成选择

$("#myFilter").autocomplete({source: myItems});

然后,我在初始化时自动选择一个项目

$("#myFilter").autocomplete("search", defaultValue);

我的问题是,如何获取所选项目的所选 ID?如果我参加“onchange”事件,我可以这样做

$( "#myFilter" ).on( "autocompleteselect", function( event, ui ) {

    var id = ui.item.value;

但是,我不在 onchange 事件中,因此我不确定如何提取所选值。

最佳答案

小部件工厂根据名为 "ui<Widgetname>" 的 jquery 数据属性存储其内部数据。 。对于自动完成小部件,它是 uiAutocomplete 。所选项目存储为 selectedItem (默认情况下,这是一个包含 labelvalue 键的普通对象,但如果需要,可以通过源和渲染方法更改它以保存更多数据)。所以你可以这样做:

$("#myFilter").data("uiAutocomplete").selectedItem.label

$("#myFilter").data("uiAutocomplete").selectedItem.value

这是一个基于使用文档的 jsfiddle 示例:http://jsfiddle.net/xt6482wm/3/

关于javascript - 如何从 onchange 事件外部获取 jQuery UI 自动完成值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51089793/

相关文章:

javascript - jQuery 水平滚动表格的 tr 元素

javascript - 如何比较文本与数组元素?

jquery - 如何给gRaphael图形添加jquery点击事件?

javascript - 使用 jquery UI 从 ul 中的列表中拖动特定部分?

javascript - 为什么我的 PHP 数组没有作为数组发布到 JavaScript?

javascript - D3 对数缩放

php - 使用 google.com/tbproxy/spell 检查拼写

javascript - 如何防止方法调用,当它不存在时

javascript - 使用 JQuery 替换一页上的多个 HTML 实例

javascript - 将 Hooks 与 Redux 一起使用——不好的做法?