【问题标题】:How to select drop downs inside any div?如何在任何 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 在很多情况下都简化了事情

标签: javascript jquery extjs extjs3


【解决方案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(...
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 2012-01-31
      相关资源
      最近更新 更多