【问题标题】:jQuery selectors for select / option:selected用于选择 / 选项的 jQuery 选择器:已选择
【发布时间】:2010-04-19 07:29:52
【问题描述】:

我应该怎么理解

$("select option:selected")

在下面的代码中?

(取自here

$("select").change(function() {
   ...
   $("select option:selected").each(function () {
      ...
   });
   ...
})

是所有选择的选项in all selects在文档中吗?

它是否与当前选择 $(this) 有某种关系?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    是的,它将引用 all 选择中的所有选定选项。如果您只想查看 current 选择,可以执行以下操作:

    $("select").change(function() {
       ...
       $(this).find("option:selected").each(function () {
          ...
       });
       ...
    })
    

    【讨论】:

      【解决方案2】:

      它是从整个文档中选择的选项。 您可以使用find 仅从$(this) 中进行选择

      【讨论】:

        【解决方案3】:

        $("select") 将查找文档中的所有选择元素。

        在更改事件中你可以给出

        $(this).find("option:selected")
        

        获取为当前选择元素选择的所有选项。

        您的语句将为文档中的所有选择元素获取所有选择的选项。

        【讨论】:

          【解决方案4】:

          是的,代码是正确的!

          全部都是选中的选项吗 在文档中选择?

          是的,确实如此。

          它是否与当前有某种关系 选择,$(this)?

          是的,$(this) 与当前元素相关。

          以下代码遍历所有选中框的所有选项:

          $("select option:selected").each(function () {
             ...
          });
          

          因此,你可以这样做:

          $("select").change(function() {
             ...
             $(this).find("option:selected").each(function () {
                ...
             });
             ...
          })
          

          【讨论】:

            【解决方案5】:

            $("select option:selected") 将选择一个具有selected 属性集的option 元素,该属性集是select 元素的子元素。它将在页面上找到所有选定的选项。它与单击的元素 $(this) 无关 - 如果您想要它,请使用 .find(),如下所示:$(this).find('option:selected')

            .each() 然后遍历页面上的每个选定选项,对每个元素执行某些操作。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-12-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-04-08
              • 2012-10-31
              相关资源
              最近更新 更多