| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Как добавить опцию к списку |
| Автор: Vidocq 8.9.2005, 13:40 | ||||
|
| Автор: diam 8.9.2005, 14:31 | ||
| Я не понимаю задачи, но вижу некоторые непонятные для меня моменты: 1. Откуда взялся sel_illness в коде JavaScript? Объявлен вне функции send()? 2. Строчка oOption.innerText = selectedOption.value; содержит innerText, который лучше заменить на oOption.text. 3. Когда мы добавляем ещё одну опцию в элемент SELECT (делаем последней опцией), нужно учесть, что это делается dom'овским методом add, причём для IE вторым аргументом должно быть число, а для Gecko - null (опере, по барабану), поэтому делаем это так:
|
| Автор: Vidocq 8.9.2005, 14:51 | ||
| 2 diam 1) Сделал по аналогии с
А задача всё та же PS код был взят с http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/add.asp |
| Автор: Vidocq 8.9.2005, 15:07 | ||
Line 25, char 1, Object expected (в ИЕ) в коде. ФайрФокс и опера молчат
|
| Автор: Sardar 8.9.2005, 15:40 |
| Vidocq если ты пользуешся DOM'овскими методами document.createElement, то почему опцию добавляешь через add? Подсказка: либо new Option -> add, либо document.createElement -> appendChild. |
| Автор: Vidocq 8.9.2005, 15:48 | ||
Sardar
Можно пример, пожалуйста?.. |
| Автор: Aliance 8.9.2005, 16:35 | ||||
| Vidocq И обращайся к Id не на прямую, а, как правильно написал diam, через document.getElementById!
В этом направлении, только добавлять нужно option`ы -> нужно назначить ID select`у и вызывать метод appendChild для него. |
| Автор: Vidocq 8.9.2005, 17:26 | ||
Это похоже на правду?
|
| Автор: Aliance 8.9.2005, 18:00 |
| Да, только у объекта Select нет события ondblclick, зато есть onchange |
| Автор: Vidocq 8.9.2005, 18:19 | ||
Всё равно: Line 17, Char 1, Object expected, Code 0 (IE 6) В файрфоксе никаких ошибок нет, но и работы тоже нет
|
| Автор: o.s.a. 8.9.2005, 20:40 |
| Опечатка в 5 строчке function send(sel) А также в 10 строчке: document здесь не нужен: sel_illness.appendChild(opt); |
| Автор: Sardar 9.9.2005, 00:19 | ||
| Vidocq млин, ну привыкни ты смотреть в консоль браузера, что за ошибку говорит Рабочий код:
|
| Автор: Vidocq 9.9.2005, 10:36 | ||
| 2Sardar "Идиот! - Согласен" (с) к/ф Операция Ы так смотрю ж ведь... только вижу фигу обычно (работает)
|
| Автор: Vidocq 9.9.2005, 11:21 | ||
Вопрос из области теории.
Вот эта функция реально записывает option из одного селекта в другой или просто отображает текст option'a в нужном селекте? Другими словами, смогу ли я потом передавать option'ы (добавленные из первого селекта), к примеру, в запросы? И будет ли эта функция работать ИЕ? PS Сейчас скрипт работает во всех браузерах, кроме ИЕ %). Это ожидаемое поведение? |
| Автор: Sardar 9.9.2005, 13:34 | ||||
Ты по настоящему создаёшь элемент option, который добавляешь в select, никакого текста, всё обьекты
Найди разницу между твоим кодом и моим. Подсказка: глянь на IDL описание http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-70901257. Если не понял: свойство text только для чтения. |
| Автор: Vidocq 9.9.2005, 14:09 |
| 2Sardar, а как же тогда c ИЕ быть, если в option.text писать нельзя? %) Вон в Опере и Мозилле/Файрфоксе можно. Так ведь большинство-то пользователей инета в ИЕ серфит... Есть какой-то выход? |
| Автор: Sardar 9.9.2005, 14:30 |
| Повторяю посмотри на мой код. Запусти в ИЕ. Подключи глаза к работе, настой обращение к мозгу на 100% |
| Автор: Vidocq 9.9.2005, 14:39 |
| 2 Sardar. я постараюсь |
| Автор: Vidocq 9.9.2005, 15:52 | ||||
| Итак, наконец-то я разобрался, что надо было сделать, чтобы заставить списки делать то, что мне нужно Окончательный вариант кода выглядит так:
|