2010-09-06 152 views
6

是否有可能通過jQuery來選擇不同的多重選擇?jQuery選擇器:多重選擇vs select

我遇到的問題是我有一個通用的js調用,對id做些什麼。但是在一些頁面上它有不同的目的。

因此我想要認識到差異。

$("select#categories[multiselect]").doOneThing; //multiselect 
$("select#categories").doAnotherThing; //normal single select 

可能嗎?

回答

15

具有多個可選選項的<select>元素的正確屬性名稱是多個。您可以使用「has attribute」選擇器來選擇具有multiple屬性的元素,並將其與:not()合併以選擇僅允許單個選擇的元素。

因此,你的jQuery選擇應該是:

$("select#categories[multiple]") // <select> with multiple 
$("select#categories:not([multiple])") // <select> with single only 

http://www.w3.org/TR/html401/interact/forms.html#edef-OPTION

0

如果你有這樣的事情(XHTML):

<select id="categories" size="3" multiple="multiple"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
</select> 

您可以創建一個選擇,即檢查multiple-屬性。試試這樣的:

$('select#categories[multiple="multiple"]').doOneThing();