IE 8 - отключен список выбора - PullRequest
       0

IE 8 - отключен список выбора

2 голосов
/ 01 сентября 2011

У меня есть страница с номеромэлементы с размером "4".Из них некоторые из них являются инвалидами.IE 8 в своей мудрости решил не показывать выбранные элементы для этих списков (страница в других браузерах исправна).Я пытался раскрасить их, используя jQuery.Кажется, работает локально.Но когда я публикую это на моем сервере разработки, он перестает работать.Это jquery, который я использовал:

$(document).ready(function () {
        $('select').each(function () {
            if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled') == 'disabled') {
                $(this).find('option[selected=selected]').each(function () {
                    $(this).css('background-color', '#15317E');
                });
            }
        });
    });

Я также попробовал предложения на следующих страницах, но это также, похоже, не работает.

Ссылки:

Было бы здоровоесли бы вы могли дать мне какие-либо предложения!

Спасибо!

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Ах, наконец-то я нашел проблему.По какой-то причине экземпляр сервера не распознал этот jQuery:

$(this).find('option[selected=selected]').each(function () {
...
}

Я понятия не имею, почему, хотя машина разработки и сервер имеют одинаковую версию jQuery, поэтому придется проверитьчто вышло.

Поэтому, когда я изменил его на следующий, и мой локальный, и сервер разработки начали выделять цвет выбранного элемента!

$(document).ready(function () {
        $('select').each(function () {
            if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled') == 'disabled') {
                $(this).find('option').each(function () {
                    if ($(this).attr('selected') == 'selected') {
                        $(this).css('background-color', '#15317E');
                    }
                });
            }
        });
    });

Спасибо!

0 голосов
/ 18 февраля 2014

Jquery для условия - $(this).attr('disabled') вернет логическое значение.

Таким образом, условие в приведенном выше условном выражении должно быть реализовано следующим образом:

$(document).ready(function () { 
    $('select').each(function () { 
        if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled') ) { 
            $(this).css('background-color', '#15317E');
        } 
    }); 
});

То же самое для выбранных элементов.

IE 8 Отключенное свойство окна выбора не будет отображать выбранный элементесли выбранный элемент не отображается в пользовательском интерфейсе.IE 8 блокирует полосу прокрутки также.Скажем, выбранный элемент находится на 10-й позиции в поле выбора размером 4. Таким образом, 10-й элемент не будет виден на экране.В таких случаях рекомендуется изменить размер отключенного поля выбора с 4 на 0. Это обеспечит видимость только выбранного элемента в отключенном поле выбора.Ниже приведен код:

$(document).ready(function() { 
    $('select').each(function() { 
        if ($(this).attr('size') != undefined && $(this).attr('size') > 1 && $(this).attr('disabled')) { 
            $(this).attr('size', 0); 
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...