如何在任何 div 中选择下拉菜单?

Posted

技术标签:

【中文标题】如何在任何 div 中选择下拉菜单?【英文标题】:How to select drop downs inside any div? 【发布时间】:2011-09-14 04:22:48 【问题描述】:

我正在将 ExtJs 与 Jquery 一起使用。我有一个面板,下面有复选框、收音机和下拉菜单。我正在使用以下代码来获取面板下的所有项目。

    $('#panelId : input').each

这适用于单选框和复选框。但是,我正在尝试以下下拉菜单,但它不起作用

    $('#panelId : select').each

请高手指导一下。

注意:我正在使用 XTemplate 将原始 html 绘制到面板中。所以我无法使用 extjs 检索项目(我不知道!)。任何人都可以使用 extjs 提出相同的建议吗?

【问题讨论】:

I am using ExtJs with Jquery 我不明白,为什么有人会使用这样两个不同的框架。 能否把示例代码放上来。 @Derek 我的意思是下拉 @toopay Jquery 只是为了获得这样的功能和所有组件的 ext js。我不确定这是否是一个好方法,但是,我们的架构是如何设计的,我们正在使用它。坦率地说,jquery 在很多情况下都简化了事情 【参考方案1】:

:select 不是一个有效的选择器。请阅读jQuery selector documentation。

您可以在此处查看quick fiddle 以了解它的工作情况,并帮助您了解如何使用正确的输入或选择 jQuery 选择器。

【讨论】:

【参考方案2】:

jQuery 选择器函数$ 需要一个有效的 CSS 选择器作为参数。如果您想要父 ID 下的所有 <select> 元素,那么这应该可以满足您的需求:

$('#panelId select').each(...

请注意,#panelIdselect 之间没有冒号。 CSS 中的冒号字符是为 :hover 等伪选择器保留的。

如果你想要不止一种子元素,你可以指定多个选择器,用逗号分隔它们。例如

$('#panelId select, #panelId input').each(...

更好的方法是从面板开始,然后只选择匹配的后代:

$('#panelId').find('select, input').each(...

希望这会有所帮助!

【讨论】:

以上是关于如何在任何 div 中选择下拉菜单?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 VBA IE 自动化单击 div 下拉菜单

每个选项下拉项显示不同的内容

根据下拉菜单中的选择更改 div 的内容

通过从 javascript 文件中查询数据库,根据下拉菜单中的选择更新 div 内容

如何更改材质ui选择菜单下拉颜色?

如何使输入类型的文本看起来像选择下拉菜单?