2010-04-19 187 views
8

我应该如何理解的选择/选项jQuery选择:选择

$("select option:selected") 

在下面的代码?

(从here拍摄)

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

它是所有选择的选项在所有选择文档中

它与当前select,$(this)有某种关系吗?

回答

14

是的,它会参考中所有选中的选项全部选择。如果你只是想看看当前选择,你可以做这样的事情:从整个文档

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

非常感谢您! – 2010-04-19 12:42:11

1

它选择的选项。 您可以使用find仅从$(this)中选择

0

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

和改变事件中,你可以给

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

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

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

0

是的,代码是正确的!

是否全选所有选项 在文档中选择?

是的,它的确如此。

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

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

下面的代码遍历被选中的所有选择框的所有选项:

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

因此,你可以这样做:

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

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

.each()然后在做每个元素的东西在页面上的每个选择的选项迭代。