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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тарбл с <SELECT>, под ИЕ 
:(
    Опции темы
Jlekc
Дата 18.6.2005, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



хых, койта трабл с ИЕ

вообщем есть Выпадающий Список
Код

<SELECT id="sel"></SELECT>

формируеться скриптом, например так:
Код

<script language="javascript">
target = document.getElementById("sel");;
for(var i=0; i<10; i++){
    if(i != 5)
        target.options[i] = new Option(i, i, false, false);
    else
        target.options[i] = new Option(i, i, false, true);
}
</SCRIPT>

по коду видно что на '5' елемент будет выставлен дефолтовый фокус.
Что NN и FFox успешно делают.

а вот ИЕ ставит фокус на '4'

мона кнешна добавить проверки на ИЕ, и выставлять для нее фокус на '6'. тада она станит на '5'.
Но это бред. Мож кто что посоветует?

ЗЫ: зарания благодарен


--------------------
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 18.6.2005, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

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



Добавляй опции так:
Код

target.options.add(new Option(i, i, false, false))

PM   Вверх
Jlekc
Дата 18.6.2005, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



options - зделаный на основе класса с индексаторами,
мона через его интерфейс, мона через индексы

а разница?
есе ИЕ все равно ставит фокус на '4'



--------------------
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 18.6.2005, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

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



Вот:
Код

target = document.getElementById("sel");;
for(var i=0; i<10; i++)
  target.options[i] = new Option(i, i, false, false);
target[5].selected = true

так даже быстрее, т.к. не надо проверять с каждым разом if (i == 5).
PM   Вверх
Black
Дата 18.6.2005, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



Код

for(var i=0; i<10; i++){
    if(i!=5) { alert(i); }
    else { }
}


не выводит 5 и FireFox и IE

Не пойму в чем глюк, то.. вроде работает.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Ciber SLasH
Дата 18.6.2005, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

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



Цитата(PHP @ 18.6.2005, 04:14)
Не пойму в чем глюк

Я так понял, что при создании OPTION-ов, IE устанавливает свойство selected в true первому элементу OPTION в списке, и при дальнейшем динамическом создании OPTION-ов это свойство не меняет, даже если указываешь true в новом элементе.

Поэтому надо после создания OPTION-ов устанавливать свойство selected самостоятельно (см. мой пред. пост).
PM   Вверх
Jlekc
Дата 18.6.2005, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Ciber @ 18.6.2005, 03:33)
при дальнейшем динамическом создании OPTION-ов это свойство не меняет

хмм, но он всеже выставляет, и указывает Селекь на 4

ЗЫ: 2Ciber SLasH, не понял в чем юмор, но твой сорс вроде пашет, псиба

Это сообщение отредактировал(а) Jlekc - 18.6.2005, 23:41


--------------------
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 19.6.2005, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

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



Цитата(Jlekc @ 19.6.2005, 00:37)
не понял в чем юмор, но твой сорс вроде пашет

Всё предельно просто smile
Сначала просто создали OPTION-ы без установки "фокуса"
Код

for(var i=0; i<10; i++)
  target.options[i] = new Option(i, i, false, false);

потом просто "выбрали текущим" OPTION с индексом 5 из нашего SELECT-а:
Код

target.options[5].selected = true;


Ха, а вот это какой-то фокус:
Код

target[5].selected = true;

я ведь сначала ошибся написав так... оказывается элемент SELECT является коллекцией, который содержит опции, что означает можно обратиться напрямую target[index]. Хм, не знал... вот к чему приводят маленькие недочёты... smile

Это сообщение отредактировал(а) Ciber SLasH - 21.6.2005, 23:15
PM   Вверх
Jlekc
Дата 19.6.2005, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Ciber @ 19.6.2005, 03:12)
Всё предельно просто

это то я понял,
я не понял почему в моем первоначальном примере ИЕ неправильно выставлял


Цитата(Ciber @ 19.6.2005, 03:12)
Ха, а вот это какой-то фокус:

хмм, чот у меня этот фокус не работает(и есе чесно не должен)


Цитата(Ciber @ 19.6.2005, 03:12)
оказывается элемент SELECT является коллекцией

ЗЫ: кстати в Сишки создавать индексаторы не проблема
Код

public int this[int index]{
    set{
    }
    get{
        return something;
    }
}
а мона ткое проделать в JS, чес не представляю эту конструкцию



--------------------
PM MAIL ICQ   Вверх
Sardar
Дата 21.6.2005, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Jlekc @ 19.6.2005, 12:43)
ЗЫ: кстати в Сишки создавать индексаторы не проблема

В JS Мозиллы кстати тоже smile Жаль что никто геттеров/сеттеров больше не поддерживает. Даже старую нетскейповскую идею с watch/unwatch.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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