2010-04-19 185 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()然後在做每個元素的東西在頁面上的每個選擇的選項迭代。