2014-05-22 4 views
0

클릭하면 목록 항목의 색상을 가져 오려고합니다. 색상이 빨간색 일 때 몇 가지 제한을두고 싶습니다. 그것을하는 방법, 나는 그것을 얻지 않는다.jquery를 사용하여 select에서 항목의 CSS 속성 값을 얻는 방법

if($("#listbox option:selected").css("color")=="red"){ 
} 

붉은 색의 항목이있는 목록 상자가 있습니다. 사용자가 해당 붉은 색 항목을 선택하는 것을 중단하고 싶습니다.

도와주세요.

+0

당신은 html을 공유 할 수 있습니까 ?? –

+1

옵션의 스타일에 따라 다릅니다. 인라인 CSS입니까? –

+0

@Aamir Afridi 실제로 CSS는 jquery를 사용하여 동적으로 첨부됩니다. 정적 코드가 아닙니다. – edge

답변

1

: http://jsfiddle.net/aamir/tq9W8/5/

$('#listbox option:eq(0)').css('color', 'red').data('color', 'red'); 

$('#listbox').change(function() { 
    if ($(this).find("option:selected").data('color') == 'red') { 
     alert('color is red'); 
    } else { 
     alert('other options'); 
    } 
}); 

또는 당신이 시도 할 수 있습니다 : http://jsfiddle.net/aamir/tq9W8/4/

$('#listbox option:eq(0)').css('color', 'red'); 

function checkColorByName(ele, colorName) { 
    var tempDiv = $('<div>').css("color", colorName).hide().appendTo('body'); 
    console.log(tempDiv.css('color')); 
    var bol = tempDiv.css('color') == ele.css('color'); 
    tempDiv.remove(); 
    return bol; 
} 


$('#listbox').change(function() { 
    if (checkColorByName($(this).find("option:selected"), 'red')) { 
     alert('color is red'); 
    } else { 
     alert('other options'); 
    } 
}); 

다른 현명한 this에 따라 plugin을 사용해야합니다.

+0

related http://stackoverflow.com/questions/1740700/how-to-get-hex-color-value-rather-than-rgb-value –

0

코드가 좋습니다.

가 작동하지 않는 경우

, 그것은 정의되지 않은 말한다면 console.log($("#listbox option:selected").css("color")=="red");

, 색상 속성이 있지만 어쩌면 #listbox에, 옵션에 설정되어 있지 않습니다. (시도 $("#listbox option:selected").parent().css("color")=="red")) 피트, 더 쉬운 방법입니다 사용 데이터 속성을 제안한 것처럼

+1

무엇 ???????? : D –

+1

내가 바보 같은 말을 한 적이 있니? : D – FLX

+0

옵션 색상을 얻고 색상 이름과 비교하는 방법을 찾으십시오. 세부 사항에 대한 내 대답을 읽고 또한 질문 아래에 피트 세부 사항 : –

관련 문제