Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Динамическое формирование Select и Opera / 8 сообщений из 8, страница 1 из 1
14.04.2008, 14:43
    #35253631
Garry80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
Возникли проблемы при динамическом формировании Select в Опере. Т.е. при добавлении скриптом option в селект появляются какие-то пустые места в конце выпадающего списка. Проверяю после добаления длину селекта, все в порядке, а визаульно в селекте есть еще что-то. Нашел выход, проверяю что за браузер и добавляю в селект опции следующим образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        if(isOpera) {
                oOpt=document.createElement("OPTION");
                oOpt.value=currValue;
                oOpt.innerHTML=currText;
                sel.options[sel.options.length]=oOpt;
        }else{
                oOpt=document.createElement("OPTION");
                sel.options[sel.options.length]=oOpt;
                oOpt.value=currValue;
                oOpt.innerHTML=currText;
        }

Но помогло только для Оперы 8, девятая версия ни в какую не хочет нормально формировать селекты. Пару раз изменение селектов проходит нормально, а потом снова за "старое".

Может кто-то сталкивался, подскажите как вышли из положения.
...
Рейтинг: 0 / 0
14.04.2008, 14:58
    #35253675
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
Garry80
Код: plaintext
sel.options[sel.options.length]=oOpt;


замените на sel.appendChild(oOpt);
...
Рейтинг: 0 / 0
14.04.2008, 15:06
    #35253694
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
а пустые места возникают именно при добавлении или вы еще чего-то оттуда удаляете?
...
Рейтинг: 0 / 0
14.04.2008, 15:46
    #35253825
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
Глюк. Сам обхожу так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
function refreshControl(AControl) {
  var lOldDisp = AControl.style.display;
  if (lOldDisp != 'none') {
    AControl.style.display = 'none';
    AControl.style.display = lOldDisp;
  }  
}

refreshControl(sel);

С уважением, Vasilisk
...
Рейтинг: 0 / 0
14.04.2008, 15:52
    #35253849
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
И вообще, я бы рекомендовал заменить весь ваш код на такой
Код: plaintext
1.
2.
3.
4.
5.
6.
oOpt=document.createElement("option");
sel.appendChild(oOpt);
oOpt.value=currValue;
oOpt.text=currText;
if(isOpera)
  refreshControl(oOpt);

С уважением, Vasilisk
...
Рейтинг: 0 / 0
14.04.2008, 16:11
    #35253914
Garry80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
Дело в том что мне не всегда надо добавлять в конец списка, поэтому appendChild() не совсем корректен будет.

Не замечал когда именно появляются пустые места, но происходит как удаление так и добавление опций.
...
Рейтинг: 0 / 0
14.04.2008, 16:41
    #35254038
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
Garry80Дело в том что мне не всегда надо добавлять в конец списка
insertBefore()
Garry80поэтому appendChild() не совсем корректен будет.
Не совсем корректно то, что Вы делаете. Но ведь Вам виднее.
Garry80Не замечал когда именно появляются пустые места, но происходит как удаление так и добавление опций.
Я же написал - вызывайте refreshControl() после добавления
...
Рейтинг: 0 / 0
14.04.2008, 17:31
    #35254224
Garry80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое формирование Select и Opera
Все, спасибо, после добавления функции заработало. Но все равно странное поведение у селекта.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Динамическое формирование Select и Opera / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]