У меня есть стандартный блок выбора, который я заполняю с помощью 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 внутри цикла $(selector).each(). Цикл проходит через все поля выбора и асинхронно заполняет параметры. Если я сделаю это синхронным вызовом, поля выбора имеют правильную ширину и будут отображаться правильно, но если его асинхронный вызов в блоках выбора показывает только первый char, как на изображении. все еще работая над этим, снова вернется к вам.
Я все еще хочу знать, что может вызвать неправильное отображение окна выбора. Я могу сделать обходные пути и получить его, чтобы показать правильно, но это не отвечает на вопрос. Это просто выбор с опциями в нем, он всегда должен работать, правильно?
после выходных, игнорируя проблему....
Правильно я нашел обходное решение. Перед выполнением вызова ajax для заполнения окна выбора я сначала установил свойство display css на "none" на нем, затем заполнил его, и, наконец, когда вызов ajax и заполнение будут завершены, я просто удалю свойство "none" css display.
Итак, я до сих пор не знаю, почему IE мне не нравится, но у нас есть решение хотя бы.