powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Динамическое формирование Select и Opera
8 сообщений из 8, страница 1 из 1
Динамическое формирование Select и Opera
    #35253631
Garry80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникли проблемы при динамическом формировании 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
Динамическое формирование Select и Opera
    #35253675
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garry80
Код: plaintext
sel.options[sel.options.length]=oOpt;


замените на sel.appendChild(oOpt);
...
Рейтинг: 0 / 0
Динамическое формирование Select и Opera
    #35253694
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а пустые места возникают именно при добавлении или вы еще чего-то оттуда удаляете?
...
Рейтинг: 0 / 0
Динамическое формирование Select и Opera
    #35253825
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глюк. Сам обхожу так
Код: 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
Динамическое формирование Select и Opera
    #35253849
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще, я бы рекомендовал заменить весь ваш код на такой
Код: 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
Динамическое формирование Select и Opera
    #35253914
Garry80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том что мне не всегда надо добавлять в конец списка, поэтому appendChild() не совсем корректен будет.

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


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