2011-04-22 9 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

좋은 것. 자기 자신에 대한 참고 사항 : * '각자'라고 쓰려고 할 때마다, 실제로하려고하는 것에 대해 생각해보십시오. 매번 왜냐하면 10 번에서 9 번 사용하기 때문에 실제로 사용하고 싶은 것을 사용할 수 있습니다 (이 경우에는 'addClass'). –

+0

+1, 좋은 해결책. – Damb

+0

그래, 역시 그 일을! 감사합니다 – user472285

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)'를 피할 수있는 이점이 있습니다. –

+0

네,이게 그거야 ... 대단한 감사와 행복한 금요일 – user472285

0

, 당신은뿐만 아니라이 방법을 고려할 수 :

.rubrique option[value="2"]{ 
    background: yellow; 
} 
관련 문제