2011-04-22 198 views
3

根據選項的值可以將選項添加到選項中?將選項添加到選項中

所以,如果我有這樣的:

<select class="rubrique" name="ctl00"> 
    <option value="" selected="selected"></option> 
    <option value="1">1</option> 
    <option value="1">1</option> 
    </select> 

我會得到:

<select class="rubrique" name="ctl00"> 
     <option class="" value="" selected="selected"></option> 
     <option class="1" value="1">1</option> 
     <option class="2" value="1">1</option> 
     </select> 

回答

6

是的,很容易,使用回調的addClass簽名:

$('.rubrique option').addClass(function() { 
    return this.value; 
}); 
+1

不錯的一個。注意自己:*每當你開始寫'each'時,想想你真的想做什麼。每次。因爲10次中有9次,你可以使用你真正想使用的東西(例如,在這種情況下爲'addClass')。 – 2011-04-22 09:35:21

+0

+1,尼斯解決方案。 – Damb 2011-04-22 09:37:08

+0

yes that works too!謝謝 – user472285 2011-04-22 09:39:17

2
$('.rubrique > option').each(function(){ 
    $(this).addClass($(this).val()); 
}); 

編輯:我不知道,如果.VAL()是100%正確的位置,你也可以使用這個:

$('.rubrique > option').each(function(){ 
    $(this).addClass($(this).attr('value')); 
}); 
+0

*「我不知道如果.VAL()爲100%在這裏糾正「*可能不是,但是'this.value'是,並且有避免冗餘'$(this)'的優點。 – 2011-04-22 09:36:23

+0

是的,這是它...非常感謝和快樂星期五 – user472285 2011-04-22 09:37:26

0

如果它的目的樣式特定選項元素,你可以考慮這種方法,以及:

.rubrique option[value="2"]{ 
    background: yellow; 
}