Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление и удаление option в select, Нужно: чтоб работало во всех браузерах! 
:(
    Опции темы
Nejenka
  Дата 20.11.2006, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.8.2006

Репутация: нет
Всего: нет



У меня есть 2 комбобокса, по выбранному значению из первого, обновляется список во втором, но при этом кол-во option во втором комбобоксе меняется, приходиться удалять и добовлять лишниее option - делаю я это так : 
Добавление 
topic.options[7] = new Option('ПРЕСС-РЕЛИЗ','press',false,false)
                    topic[7].text='ПРЕСС-РЕЛИЗ';
                    topic[7].value='press';
Удаление 
topic.options[7]=null;
в Explorer и Мозиле работает нормально.. а вот в Опере при добавлении, оставляет еще какую-то пустую строку.. - Подскажите , пожалуйста, кто-нибудь, что мне с этим делать?

В JS нет комбобоксов, тег select - это drop-down menu, спадающий список.

Это сообщение отредактировал(а) 12345c - 20.11.2006, 16:11
PM MAIL   Вверх
SelenIT
Дата 20.11.2006, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Nejenka, после присвоения null у Вас остается "разрыв" в нумерации опций, и Опера не понимает, чем его заполнить. Можно вместо topic.options[7]=null; делать
Код

topic.remove(7); // исторический способ
или
Код

topic.removeChild(topic.options[7]); // DOM-способ

Только учтите, что при этом сдвинется нумерация следующих опций. Лучше действительно перепишите весь второй селект заново, как Вам посоветовали на dklab.ru  smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
solenko
Дата 21.11.2006, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



Если уж на то пошло, то DOM:
Код

var opt = document.createElement('option');
opt.value = '';
opt.text = '';
topic.appendChild(opt); 

Рвботает в IE, FireFox. В Operа не пробовал.

Это сообщение отредактировал(а) solenko - 21.11.2006, 11:31


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
12345c
Дата 21.11.2006, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Как же работает в IE, если текст не отображается?

Код
<select id=s1 onclick=ff()><option>111</option></select>
<a href=# onclick=alert(document.getElementById('s1').options[2].value)>***</a>
<script>i=1
ff=function(){var opt = document.createElement('option');
opt.value = ++i;
document.getElementById('s1').appendChild(opt);
opt.text ='++'+ i;
 }</script>
 Это работает везде.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.