Jquery ui 获取jQuery自动完成组合框的下拉部分

Jquery ui 获取jQuery自动完成组合框的下拉部分,jquery-ui,combobox,jquery-autocomplete,Jquery Ui,Combobox,Jquery Autocomplete,我想获得与自动完成列表对应的html元素,即当我在jQuery combobox的输入元素中键入时打开的下拉部分。如何使用jQuery获取此下拉元素?如果您正在谈论jQueryUI自动完成,您可以使用以下方法访问菜单的元素: $('autocomplete_selector').data("autocomplete").menu.element; 因此,在open事件的上下文中,您可以执行以下操作: $("input").autocomplete({ open: function (e

我想获得与自动完成列表对应的html元素,即当我在jQuery combobox的输入元素中键入时打开的下拉部分。如何使用jQuery获取此下拉元素?

如果您正在谈论jQueryUI自动完成,您可以使用以下方法访问
菜单的元素:

$('autocomplete_selector').data("autocomplete").menu.element;
因此,在
open
事件的上下文中,您可以执行以下操作:

$("input").autocomplete({
    open: function (event, ui) {
        // menu is a jQuery object.
        var menu = $(this).data("autocomplete").menu.element;
    }
});
示例:


对于combobox小部件,您需要跳过更多的环,因为
输入是动态生成的:

$("combobox_selector")
    .data("combobox")
    .wrapper
    .find("input")
    .data("autocomplete")
    .menu
    .element;

如果您正在谈论jQueryUI自动完成,您可以使用以下方法访问
菜单的元素:

$('autocomplete_selector').data("autocomplete").menu.element;
因此,在
open
事件的上下文中,您可以执行以下操作:

$("input").autocomplete({
    open: function (event, ui) {
        // menu is a jQuery object.
        var menu = $(this).data("autocomplete").menu.element;
    }
});
示例:


对于combobox小部件,您需要跳过更多的环,因为
输入是动态生成的:

$("combobox_selector")
    .data("combobox")
    .wrapper
    .find("input")
    .data("autocomplete")
    .menu
    .element;

对于id为='abc':$('.'abc')('.ui auto complete')的jQuery组合框,这是否有效?“jQuery组合框”是什么意思?@Andrews-jQuery ui中可用的自动完成组合框,如下链接:@Andrews-我尝试了您的方法,但无效:$(“#combobox123”)。数据(“autocomplete”)。menu.element始终为空。但是,如果我尝试$(“#combox123”).next(“.ui autocomplete”),那么我会得到一个非空对象。因此,您的表达式可能有错误。这是因为您的选择器选择的是
select
元素,而不是autocomplete插件所连接的
input
。请查看我的更新。对于id='abc':$('.'abc')。('.ui自动完成)的jQuery combobox,这是否有效?“jQuery combobox”是什么意思?@Andrews-jQuery ui中可用的自动完成组合框,如下链接:@Andrews-我尝试了您的方法,但无效:$(“#Combox123”)。数据(“自动完成”)。menu.element始终为空。但是,如果我尝试$(“#combox123”).next(“.ui autocomplete”),那么我会得到一个非空对象。因此,您的表达式可能有错误。这是因为您的选择器选择的是
select
元素,而不是autocomplete插件所连接的
input
。请看我的更新。