У меня есть стандартное поле выбора, которое я заполняю, используя jquery, добавляя опции, но по какой-то причине IE9 показывает только первый символ выбранной опции.Излишне говорить, что он отлично работает в FireFox и Chrome, но я должен поддерживать IE9.Я пробовал режимы совместимости IE9, но это не имело никакого значения, равно как и стилизация выбора или опции.
Кто-нибудь видел эту проблему раньше.Что вызвало это?Как вы это исправили?
Упрощенный пример кода:
<select id="selectCCY" ValueColumn="ccyID" DisplayColumn="ccySymbol" ></select>
$.each(res.result, function (key, value) {
$('#selectCCY').append('<option value="' + value[$('#selectCCY').attr('ValueColumn')]+ '">' + value[$('#selectCCY').attr('DisplayColumn')] + '</option>');
});
res.result представляет собой простой массив json, подобный этому:
[{"ccyID":1,"ccySymbol":"GBP"},{"ccyID":2,"ccySymbol":"AUD"},{"ccyID":3,"ccySymbol":"USD"}]
О, БУЖЕР !!!в моем упрощенном примере это работает нормально, поэтому проблема в другом.Сожалею.Оригинальный код слишком длинный и сложный для вставки, но он сообщит вам, когда я найду ответ.
через некоторое время ....
Хорошо, я решил проблемувызов ajax внутри цикла $ (селектор) .each ().Цикл проходит через все поля выбора и асинхронно заполняет параметры.Если я сделаю это синхронным вызовом, поля выбора будут иметь правильную ширину и будут отображаться правильно, но если это асинхронный вызов, поля выбора показывают только первый символ, как на рисунке.все еще работаю над этим, снова свяжусь с вами.
Я все еще хочу знать, что может вызвать некорректное отображение окна выбора.Я могу сделать обходные пути и заставить его показывать правильно, но это не отвечает на вопрос.Это просто выбор с опциями, он всегда должен работать, верно?
после выходных, игнорируя проблему ....
Правильно, я нашел обходной путь.Перед выполнением вызова ajax для заполнения поля выбора я сначала устанавливаю для свойства css display значение 'none', затем заполняю его и, наконец, когда вызов ajax и заполнение завершены, я просто удаляю свойство css display 'none'.
Так что я до сих пор не знаю, почему я не нравлюсь IE, но у нас, по крайней мере, есть решение.