我正在使用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键的普通对象,但是可以通过source和render方法进行更改,以在需要时保存更多数据)。因此,您可以执行以下操作:

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


要么

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


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

07-28 07:15