Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   проблема с заполнением выпадающего (https://javascript.ru/forum/dom-window/2992-problema-s-zapolneniem-vypadayushhego.html)

ilnets 06.03.2009 20:32

проблема с заполнением выпадающего
 
Здравствуйте!

Мне нужно заполнить выпадающий список select при помощи скрипта.
Как я это делаю.
N раз создаю при помощи createElement option, заполняю поле text и добавляю к select'у.
Но дело в том, что опции - не просто строки, а с тегами, короче html-строки.
И в итоге браузер показывает список из этих самых неотинтерпретированных html-строк.

почему так и что делать?)

Onis 06.03.2009 21:02

Вместо "<" используй "&lt;"

ilnets 07.03.2009 14:47

зачем?
видимо я не очень понятно написал.
я хочу, например, вставить как опцию слово написанное курсивом: куку
вместо этого отображается <i>куку</i>

Gvozd 07.03.2009 15:02

попробуйте выстваить необходимое свойство CSS-ом.
что-то мне подсказывает, что не получится
тогда придется писать свой SELECT.с блекджеком, шлюхами и <i>курсивом</i>

ilnets 07.03.2009 15:19

с css не получится
я просто пример с курсивом привел
а так даже например &alphа; отображается как &alpha;

Gvozd 07.03.2009 15:38

&alpha;
что это за HTML-сущность?не знаю такой

я не вижу иного выхода, кроме как делать свой элемент select, со своим функционалом

ilnets 07.03.2009 15:48

выход частично найден
по крайней мере для FF
использовать innerHTML, а не text

но IE ругается, не хочет добавлять option с измененным innerHTML

Upd:
IE перестает ругаться если добавлять опцию не через add, а через appendchild
и даже теги обрабатывает, но как-то по-дурацки: просто не печатая их, т.е. <i> куку </i> отображает как куку, а не куку

Андрей Параничев 07.03.2009 20:41

В IE (и некоторых других браузерах) есть ограничения работы со списком. Вообще, по спецификации, список не может иметь html тегов в своем содержании, точно как input type="text" и textarea. Но вы можете изменять стиль элемента списка через CSS, но, естественно, стиль применится ко всему содержанию опции, а не к определенной его части.

ilnets 09.03.2009 01:05

спасибо, за грамотный ответ)

но увы
в firefox изменение стиля элемента списка работает, а в IE нет, в opera не пробовал

P.S. если я все правильно сделал, конечно)

ilnets 11.03.2009 16:09

Вот еще вопрос
можно ли сделать выравнивание по ширине текста опций?
по левому и правому краю получается


Часовой пояс GMT +3, время: 13:51.