如何在任何 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(...
请注意,#panelId
和 select
之间没有冒号。 CSS 中的冒号字符是为 :hover
等伪选择器保留的。
如果你想要不止一种子元素,你可以指定多个选择器,用逗号分隔它们。例如
$('#panelId select, #panelId input').each(...
更好的方法是从面板开始,然后只选择匹配的后代:
$('#panelId').find('select, input').each(...
希望这会有所帮助!
【讨论】:
以上是关于如何在任何 div 中选择下拉菜单?的主要内容,如果未能解决你的问题,请参考以下文章