Я работаю с IE7. Я получил следующее правило CSS:
form [disabled] {
color: #999 !important;
}
В событии jQuery ready () я отключаю все опции в SELECT:
$('#mySelect option').attr('disabled', 'disabled');
и затем снова включите некоторые из этих отключенных опций:
('#myOption').removeAttr('disabled');
Теперь все выглядит хорошо. В этом случае каждый параметр имеет серый текст, кроме первого.
Но если я изменю отключенный атрибут одного параметра после загрузки страницы, например, после нажатия на кнопку цвет больше не меняется.
Если я проверяю параметр с помощью панели инструментов разработчика IE7, я ясно вижу, что атрибут отключен, и цвет снова устанавливается на исходный цвет (отличный от серого), но параметр по-прежнему имеет серый текст.
То же самое наоборот. Если я добавлю атрибут disabled в опцию, которая раньше не отключалась, я вижу атрибут attrbibute, установленный на панели инструментов разработчика, и вижу, что цвет установлен на значение, определенное в CSS, но я не вижу его в реальном окне браузера. , Все еще старый цвет.
Это очень странное поведение, и я знаю, что в IE7 есть эта ошибка (или функция?), Вообще не связанная с отключенными элементами формы.
Но я хочу по крайней мере иметь серый цвет на элементах, которые пользователь не должен выбирать. Я не могу заставить это работать должным образом.
Есть ли способ, как я могу заставить это работать?