2011-09-07 4 views
0

IE7에서 작업하고 있습니다.IE7 선택 옵션 텍스트 색상이 올바르게 표시되지 않습니다.

$('#mySelect option').attr('disabled', 'disabled'); 

후 다시 그 장애인 옵션 중 일부를 사용 :

('#myOption').removeAttr('disabled'); 
나는 SELECT의 모든 옵션을 사용하지 않도록 JQuery와 준비() 이벤트에서

form [disabled] { 
    color: #999 !important; 
} 

: 나는 다음과 같은 CSS 규칙을 가지고

이제 모두 괜찮아 보입니다. 이 경우 모든 옵션에는 첫 번째 텍스트를 제외한 회색 텍스트가 있습니다.

하지만 페이지로드 후에 한 옵션의 사용 중지 된 속성을 변경하면 버튼을 클릭하면 색상이 더 이상 변하지 않습니다.

IE7 개발자 툴바로 옵션을 검사하면 비활성화 된 속성이 사라지고 색상이 원래 색상 (회색 이외의 색상)으로 다시 설정되었지만 옵션이 여전히 회색 텍스트라는 것을 분명히 알 수 있습니다.

그 반대의 경우도 마찬가지입니다. 이전에 비활성화되지 않은 옵션에 disabled 속성을 추가하면 개발자 툴바에 attrbibute가 설정되어있는 것을 볼 수 있으며 CSS에 정의 된 색상으로 설정되어 있지만 실제 브라우저 창에서는 볼 수 없습니다. . 아직도 오래된 색깔.

이것은 매우 이상한 행동이며 IE7에이 버그 (또는 기능?)가 있다는 것을 알고 있습니다. 비활성화 된 양식 요소를 전혀 다루지 않습니다.

하지만 적어도 사용자가 선택하면 안되는 항목에 회색 색상이 나타나기를 바랍니다. 나는 이것이 제대로 작동하도록 할 수 없습니다.

어떻게 작동시킬 수 있습니까?

+0

합니까'IE7에 important' 일!? – Znarkus

답변

1

간단한 해결 방법으로 요소를 비활성화 할 때 요소에 disabled 클래스를 설정할 수 있습니다.

JS :

$('#mySelect option').addClass('disabled').attr('disabled', 'disabled'); 

JS :

('#myOption').removeClass('disabled').removeAttr('disabled'); 

CSS :

form .disabled { 
    color: #999 !important; 
} 
+0

문제가 CSS처럼 보이지 않습니다. 개발자 툴바에서 알려주므로 색상이 실제로 옵션에 올바르게 적용됩니다. IE7은 그에 맞게 렌더링하지 않습니다. – tyrondis

+0

내 솔루션이 작동하지 않았습니까? – Znarkus

관련 문제