Как правильно очистить и добавить параметры для работы с Internet Explorer? - PullRequest
0 голосов
/ 08 декабря 2010

Привет всем, недавно я столкнулся с проблемой.Я не могу ни добавить параметры в поле выбора с кодом ниже, ни очистить их в IE.Что-то не так с кодом ниже?

        blockSelect.innerHTML = '<option></option>';
        for (var i in data.DATA) {
            console.log(data);
            var option = dojo.create('option', { value: data.DATA[i][0] }, blockSelect);
            option.label = data.DATA[i][0];
        }

Я действительно понятия не имею, почему это не работает в IE.

Спасибо

Ответы [ 4 ]

2 голосов
/ 08 декабря 2010

Используйте свойство options списка выбора.Вы можете очистить его, установив для свойства length значение 0, и добавить новый параметр, назначив новый объект Option в качестве последнего элемента коллекции options:

var opts = blockSelect.options;
opts.length = 0;
for (var i in data.DATA) {
    console.log(data);
    opts[opts.length] = new Option(data.DATA[i][0], data.DATA[i][0]);
}

работает во всех основных браузерах.

2 голосов
/ 08 декабря 2010

Никогда не писал додзе в моей жизни, но вот попытка. С несколькими указателями

blockSelect.innerHTML = '<option></option>';
console.log(data);
for (var i in data.DATA) {
  var item = data.DATA[i];
  dojo.create('option',
        {
           value: item[0],
           label: item[0], // do you mean to set the innerHTML?
           innerHTML: item[0]
        },
        blockSelect);
}
1 голос
/ 08 декабря 2010

Я не уверен, как ответить на ваш вопрос с помощью Dojo, но я подозреваю, что ваша проблема может быть связана с давней проблемой в IE с использованием innerHTML и тега option. Я думаю, что решение состоит в том, чтобы добавить элементы option к родителю вместо того, чтобы пытаться установить innerHTML.

0 голосов
/ 08 декабря 2010

Для тех, кто испытывает эту проблему, вот в чем проблема: Для Internet Explorer мне пришлось использовать streetSelect.options [streetSelect.selectedIndex] .value для моих значений содержимого вместо streetSelect.value. По какой-то причине Internet Explorer не читает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...