Статьи
Портфолио
Друзья
Контакты

Последние статьи

06.07.2010 Memcache и Zend: у Вас "падает" Memcache? 4 коммент.

06.07.2010 Collabtive - web-based project management software 2 коммент.

03.06.2010 Ускоряем ZF-проекты: автолоад и сборка в один файл 2 коммент.

Все

Категории

PHP 2 стат.

Zend Framework 25 стат.

Javascript 3 стат.

Другое 12 стат.

Книги 1 стат.

Украина 1 стат.

Все

RSS

Статьи

Комментарии

Портфолио

Облако тегов

программирование  Программы  портфолио  php  zend framework  Zend_Db  Smarty  Zend_Form  паттерны  javascript  niceforms  jQuery  Zend_Mail  веб  Google  Zend_Rest  Zend_View_Helper  zend casts  Zend_View  Zend_Layout  speedUp  интернет  Загрузчик фотографий  Flash  ВКонтакте  zend  localization  zend_translate  gettext  антон шевчук  подарки  Я читаю  Книги  sphinx  релизы 

Все

Реклама



Статистика



Rambler's Top100

Главная > Статьи > Javascript > jQuery и совсем не обычные select'ы в IE
14.10.09 jQuery и совсем не обычные select'ы в IE

Internet Explorer - зло!

Решил наваять маленькую заметочку — вдруг кому поможет Улыбается.

 

Итак, у меня в проекте стояла задача запрограммировать умные, специфические вложенные селекты, с неограниченной вложенностью. Суть задачи в том, чтобы при выборе первого селекта проверялось наличие дочерних элементов дерева Nested Sets и если они есть, то выезжает следующий селект, получает данные с сервера и добавляет новые option.

 

Так вот, сделал. Запрограммировал кучу разных умных и удобных вещей, сижу себе довольный и офигеть как горжусь собой (действительно очень удобно пользоваться такими селектами, отлично вышло). Потом открываю IE и мой фэйс трижды сменил цвет Смеётся

 

Прикиньте, вместо того, чтобы были надписи в селектах внутри был просто белый фон! Т.е. список есть, он раскрывается, но ты не видишь, что выбираешь. В ход пошел Firebag, но все было тщетно - логика работала как часы. Все было просто прелестно во всех браузерах кроме моего любимого IE. Несколько раз за эти 2 недели возвращался до этого вопроса и никак не мог понять, почему фон шрифта в селекте стал белым и не меняется (это я раньше так думал)?

 

Но сегодня на меня нашло прозрение: решил просто скинуть в обычный alert html() селекта. Посмотрел в лисе — все отлично и соответствует нормам. Посмотрел в IE, а там нету самих названий элементов — он их не добавляет. Пришлось лезть в код, вот:

 

Так я создавал новые элементы селекта. Как выявилось Эксплуататор неверно воспринимает мои указания кодом. Пришлось немного потанцевать с бубном и решение нашлось:

Работает во всех браузерах. Думаю, кому-то помог Улыбается

 

 

Теги:  ненавижу IE, jQuery

Другие категории:

■ PHP ■ Zend Framework ■ Javascript ■ Другое ■ Книги ■ Украина
Комментарии к статье
  Чистяков Денис

14.10.09 14:25:22

А не «элегантней» сначала собрать массив опций через

А потом свойству option select'а присвоить полченный массив?

  illusive

14.10.09 14:33:59

Из-за еще некоторой специфики кода, мне нужно было делать именно так как у меня.

  yAnTar

16.10.09 12:46:33

Давно вже використовую jQuery - проблеми такого типу відпадають (хоча бувать деколи інші трабли з ІЕ - але набагато менше).

  yAnTar

16.10.09 12:52:35

Соррі, не зовсім уважно прочитав, що ви юзали jQuery.

Просто я робив чуть по-іншому.

jQuery('#my_select').append(jQuery('<option />').val(value).text(text));

  illusive

16.10.09 13:28:06

Тоже неплохое решение. Я просто напсал заметку о том, как не надо делать, а то в Эксплуататоре это совсем не работает Улыбается. Привел рабочее, кросс-браузерное решение + Вы добавили свой вариант.

Оставить свой комментарий

 
Статьи | Портфолио | Друзья | Контакты
Идея и мозги: Васильев Андрей © 2008-2010 Web-Blog Кисточка и фантазия: Зелинский Богдан