|
|
|
| Есть 2 селекта на JS (2 связанных между собой селекта).
Вот втором селекте примерна такая струкрута:
Сосиски
Ветчина
Говядина
--ДРУГОЕ--
|
Как сделать, что бы при нажатии на "--ДРУГОЕ--" в этом же OPTION`e, вместо "--ДРУГОЕ--" появлялся INPUT?
Заранее спасибо. | |
|
|
|
|
|
|
|
для: lElectroHardl
(19.09.2010 в 18:12)
| | Слово "INPUT" вместо слова "--ДРУГОЕ--" в тексте опшена можно написать, а вот вместо опшена поместить элемент INPUT... Вопросы корректно можно задавать? | |
|
|
|
|
|
|
|
для: sim5
(19.09.2010 в 18:17)
| | Быстро писал и не довел мысль.
Да, нужно вместо опшена, с текстом "--ДРУГОЕ--" нужно поместить элемент INPUT. | |
|
|
|
|
|
|
|
для: lElectroHardl
(20.09.2010 в 12:45)
| | И вы думаете это возможно вместо элемента option вставить элемент input в select? | |
|
|
|
|
|
|
|
для: lElectroHardl
(20.09.2010 в 12:45)
| | что мешает при нажатии на "другое" в select'е передать это значение функции, и если было нажато "другое" создать input с помощью функции createElement и убрать select? | |
|
|
|
|
|
|
|
для: psychomc
(20.09.2010 в 13:13)
| | Можно и так, но:
1. Нужно оставить возможность выбора. Т.е. что бы при появлении INPUT`а оставался SELECT со всеми его элементами, кроме "--ДРУГОЕ--"
2. Этих Селектов на страницы очень много, т.е. их значения занесены в массив.
3. Не особо дружу с JS :).
Подскажите примером, как это сделать. Буду очень рад. | |
|
|
|
|
|
|
|
для: lElectroHardl
(20.09.2010 в 13:20)
| | 1. select например можно запомнить в переменной, если пользователь передумает, или просто скрыть с помощью display
2. это неважно
3. тут к сожалению ничем не помогу
как-то раньше делал подобное, кода не очень много и не очень сложно. пробуйте сами. но пардон, писать сейчас не буду.
посмотрите для начала эти функции: createElement, parentNode, appendChild, innerHTML | |
|
|
|
|
|
|
|
для: lElectroHardl
(20.09.2010 в 12:45)
| | 1. Между тегами <select> и </select> можно помещать только 2 (два) вида HTML-элементов:
<option></option> и <optgroup></optgroup>
2. Между тегами <option> и </option> можно помещать только текст (не содержащий никаких HTML-тегов).
-----
Следовательно, Ваше желание является дважды невыполнимым:
- вовнутрь тега <option></option> нельзя вставить тег <input> (читаем выше пункт 2)
- тег <option></option> также нельзя заменить тегом <input> (читаем выше пункт 1) | |
|
|
|
|
|
|
|
для: АЯ
(20.09.2010 в 13:18)
| | В HTM5 такая вещь уже реализована, при помощи <datalist></datalist>, но не все браузеры это поддерживают. Поэтому и приходиться импровизировать.
Ладно, нельзя так, а как можно? Например, человеку предложено варианты выбора. А того, что хотел бы выбрать человек, в условленном выборе нет! Что делать? | |
|
|
|
|
|
|
|
для: lElectroHardl
(20.09.2010 в 13:23)
| | При выборе "Другое" делайте видимым скрытый input.
<input list="languages" name="lang">
<datalist id="languages">
<option value="Norwegian">
<option value="Dutch">
<option value="English">
</datalist>
Это возможности нового элемента, а не возможность вставить input в select. | |
|
|
|
|
|
|
|
для: lElectroHardl
(20.09.2010 в 13:23)
| | >"Например, человеку предложено варианты выбора. А того, что хотел бы выбрать человек, в условленном выборе нет! Что делать?"
А что делаете в этом случае Вы сами?
Пришли, например, Вы в магазин.
Где Вам предложен выбор напитков - от "Пепси" до водки "Смирнофф".
А Вам, положим, нужен "Байкал", которого в этом магазине нет.
Что Вы делаете?
Правильно, Вы идёте в другой магазин.
Разве нет?
Или Вы всегда в таких случаях требуете "Книгу жалоб и предложений" и вписываете туда желаемое Вами?
И каков смысл этого "вписывания"? "Байкал"-то Вам нужен "здесь и сейчас", а не когда-то потом:-)
----
Но для "упёртых" решение есть.
Например, такое | |
|
|
|
|
|
|
|
для: АЯ
(20.09.2010 в 13:34)
| | Изощренная у вас фантазия, однако :).
Предлагаю другую ситуацию:
Человеку дан выбор (даже на софттайме(справа, сверху)) - "Во сколько вы приходите домой". Варианты - "в 6", "в 7", "в 8", "ДРУГОЕ".
Тут уже не скажешь, что ты приходишь домой в 6,7 или 8, если дома ты бываешь не раньше 9-ти. | |
|
|
|