Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Глюк при создании option
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Глюк при создании option

Страниц (1): [1]
 

1. SergeantPEPPER - 15 Октября, 2008 - 10:09:52 - перейти к сообщению
День добрый.

Помогите пожалуйста объяснить это сумасшествие:
у меня есть select, в который я AJAX-ом заливаю options (создаю их через add)

CODE (text):
скопировать код в буфер обмена
  1. for (i=0; i<fn_options.length; ++i)
  2.     {
  3.         var selOption = document.createElement ('option');
  4.         selOption.value = fn_options[i];
  5.         selOption.text = fn_options[i];  
  6.         if (default_eFieldName != '') {
  7.             if (fn_options[i] == default_eFieldName) selIndex = i;
  8.         }    
  9.         document.frm_edit.edit_field_name.add (selOption);        
  10.     }

затем я отмечаю тот пункт, который должен быть выделен по-умолчанию:

CODE (text):
скопировать код в буфер обмена
  1. document.frm_edit.edit_field_name.selectedIndex = selIndex;

Вот после этого у меня в селекте появляются лишние options-пустышки, без текста, без значения ...

Так вот самое странное!!! Если я между этими двумя блоками вставлю простой цикл перебирающий все эти options select-а и выводит через alert их текст --- ВСЕ РАБОТАЕТ НОРМАЛЬНО - опции-пустышки не возникают:

CODE (text):
скопировать код в буфер обмена
  1. for (i=0; i<fn_options.length; ++i)
  2.     {
  3.         var selOption = document.createElement ('option');
  4.         selOption.value = fn_options[i];
  5.         selOption.text = fn_options[i];  
  6.         if (default_eFieldName != '') {
  7.             if (fn_options[i] == default_eFieldName) selIndex = i;
  8.         }    
  9.         document.frm_edit.edit_field_name.add (selOption);        
  10.     }
  11.     for (i=0; i<document.frm_edit.edit_field_name.length; ++i)
  12.     {
  13.         alert (document.frm_edit.edit_field_name.options[i].text);
  14.     }
  15.     document.frm_edit.edit_field_name.selectedIndex = selIndex;


Такая штука при этом наблюдается именно в Опере, в ИЕ все работает нормально
2. Champion - 15 Октября, 2008 - 11:58:37 - перейти к сообщению
А вот просто интересно. После добавления опций fn_options.length и document.frm_edit.edit_field_nam e.length - одно и то же чило получается? И чему оно соответствует - просто числу опуий или с пустышками?
3. SergeantPEPPER - 16 Октября, 2008 - 11:47:12 - перейти к сообщению
Да, и в том, и в другом случае получается одно и то же число, причем соответствует оно количеству опций без пустышек...

Не понял

Сами опции-пустышки как будто бы вообще абсолютно не существют в самом дереве объектов!!! Т.е. как только я пробегаюсь alert-ом по опциям списка эти пустышки исчезают!!!

Вот как ALERT может исключать опции?!?! Не понял Это я никак не могу понять Нахмурился
4. Champion - 16 Октября, 2008 - 12:13:28 - перейти к сообщению
SergeantPEPPER пишет:
Сами опции-пустышки как будто бы вообще абсолютно не существют в самом дереве объектов!!

А кстати, если смотреть код html получившийся траницы, они есть в в самом дереве объектов?
5. valenok - 16 Октября, 2008 - 12:15:01 - перейти к сообщению
(через DOM inspector в опере)
6. SergeantPEPPER - 18 Октября, 2008 - 14:57:11 - перейти к сообщению
2Champion: я не могу посмотреть получившийся html код, т.к. создаю опции списка прямо находу ЯваСкриптом... К сожалению... Так бы давно посмотрел Недовольство, огорчение

2valenok: а не подскажете - это где такая опция в Опере находится? Очень интересно посмотреть. Всю Оперу излазил - не нашел.
7. valenok - 18 Октября, 2008 - 20:37:30 - перейти к сообщению
Судя по тому что у меня они находятся в
Инструменты - Представления - Кнопки - Мои кнопки
То это нужно где то скачать.

http://img142[dot]imageshack[dot]us/img1[dot][dot][dot]/24586490tw7[dot]jpg
8. SergeantPEPPER - 19 Октября, 2008 - 19:11:33 - перейти к сообщению
Спсибо, я поищу Улыбка
9. valenok - 19 Октября, 2008 - 21:55:26 - перейти к сообщению
Вроде через firebug тоже можно

 

Powered by ExBB FM 1.0 RC1