【发布时间】:2012-07-12 01:18:52
【问题描述】:
我想获取与自动完成列表相对应的 html 元素,即当我在 jQuery 组合框的输入元素中键入时打开的下拉部分。如何使用 jQuery 获取此下拉元素?
【问题讨论】:
标签: jquery-ui combobox jquery-autocomplete
我想获取与自动完成列表相对应的 html 元素,即当我在 jQuery 组合框的输入元素中键入时打开的下拉部分。如何使用 jQuery 获取此下拉元素?
【问题讨论】:
标签: jquery-ui combobox jquery-autocomplete
如果您在谈论 jQueryUI 自动完成,您可以使用以下方法访问 menu 的元素:
$('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;
}
});
示例: http://jsfiddle.net/PvgGw/
由于input 是动态生成的,因此对于组合框小部件,您需要多做几道题:
$("combobox_selector")
.data("combobox")
.wrapper
.find("input")
.data("autocomplete")
.menu
.element;
【讨论】:
select 元素,而不是自动完成插件附加到下方的input。请查看我的更新。