Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Input в SELECT'е
 
 автор: lElectroHardl   (19.09.2010 в 18:12)   письмо автору
 
 

Есть 2 селекта на JS (2 связанных между собой селекта).
Вот втором селекте примерна такая струкрута:
Сосиски
Ветчина
Говядина
--ДРУГОЕ--

Как сделать, что бы при нажатии на "--ДРУГОЕ--" в этом же OPTION`e, вместо "--ДРУГОЕ--" появлялся INPUT?
Заранее спасибо.

  Ответить  
 
 автор: sim5   (19.09.2010 в 18:17)   письмо автору
 
   для: lElectroHardl   (19.09.2010 в 18:12)
 

Слово "INPUT" вместо слова "--ДРУГОЕ--" в тексте опшена можно написать, а вот вместо опшена поместить элемент INPUT... Вопросы корректно можно задавать?

  Ответить  
 
 автор: lElectroHardl   (20.09.2010 в 12:45)   письмо автору
 
   для: sim5   (19.09.2010 в 18:17)
 

Быстро писал и не довел мысль.
Да, нужно вместо опшена, с текстом "--ДРУГОЕ--" нужно поместить элемент INPUT.

  Ответить  
 
 автор: sim5   (20.09.2010 в 13:11)   письмо автору
 
   для: lElectroHardl   (20.09.2010 в 12:45)
 

И вы думаете это возможно вместо элемента option вставить элемент input в select?

  Ответить  
 
 автор: psychomc   (20.09.2010 в 13:13)   письмо автору
 
   для: lElectroHardl   (20.09.2010 в 12:45)
 

что мешает при нажатии на "другое" в select'е передать это значение функции, и если было нажато "другое" создать input с помощью функции createElement и убрать select?

  Ответить  
 
 автор: lElectroHardl   (20.09.2010 в 13:20)   письмо автору
 
   для: psychomc   (20.09.2010 в 13:13)
 

Можно и так, но:
1. Нужно оставить возможность выбора. Т.е. что бы при появлении INPUT`а оставался SELECT со всеми его элементами, кроме "--ДРУГОЕ--"
2. Этих Селектов на страницы очень много, т.е. их значения занесены в массив.
3. Не особо дружу с JS :).
Подскажите примером, как это сделать. Буду очень рад.

  Ответить  
 
 автор: psychomc   (20.09.2010 в 16:49)   письмо автору
 
   для: lElectroHardl   (20.09.2010 в 13:20)
 

1. select например можно запомнить в переменной, если пользователь передумает, или просто скрыть с помощью display
2. это неважно
3. тут к сожалению ничем не помогу
как-то раньше делал подобное, кода не очень много и не очень сложно. пробуйте сами. но пардон, писать сейчас не буду.
посмотрите для начала эти функции: createElement, parentNode, appendChild, innerHTML

  Ответить  
 
 автор: АЯ   (20.09.2010 в 13:18)   письмо автору
 
   для: 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)

  Ответить  
 
 автор: lElectroHardl   (20.09.2010 в 13:23)   письмо автору
 
   для: АЯ   (20.09.2010 в 13:18)
 

В HTM5 такая вещь уже реализована, при помощи <datalist></datalist>, но не все браузеры это поддерживают. Поэтому и приходиться импровизировать.

Ладно, нельзя так, а как можно? Например, человеку предложено варианты выбора. А того, что хотел бы выбрать человек, в условленном выборе нет! Что делать?

  Ответить  
 
 автор: sim5   (20.09.2010 в 13:28)   письмо автору
 
   для: 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.

  Ответить  
 
 автор: АЯ   (20.09.2010 в 13:34)   письмо автору
 
   для: lElectroHardl   (20.09.2010 в 13:23)
 

>"Например, человеку предложено варианты выбора. А того, что хотел бы выбрать человек, в условленном выборе нет! Что делать?"

А что делаете в этом случае Вы сами?

Пришли, например, Вы в магазин.
Где Вам предложен выбор напитков - от "Пепси" до водки "Смирнофф".
А Вам, положим, нужен "Байкал", которого в этом магазине нет.
Что Вы делаете?

Правильно, Вы идёте в другой магазин.
Разве нет?
Или Вы всегда в таких случаях требуете "Книгу жалоб и предложений" и вписываете туда желаемое Вами?
И каков смысл этого "вписывания"? "Байкал"-то Вам нужен "здесь и сейчас", а не когда-то потом:-)
----

Но для "упёртых" решение есть.
Например, такое

  Ответить  
 
 автор: lElectroHardl   (20.09.2010 в 16:25)   письмо автору
 
   для: АЯ   (20.09.2010 в 13:34)
 

Изощренная у вас фантазия, однако :).
Предлагаю другую ситуацию:
Человеку дан выбор (даже на софттайме(справа, сверху)) - "Во сколько вы приходите домой". Варианты - "в 6", "в 7", "в 8", "ДРУГОЕ".
Тут уже не скажешь, что ты приходишь домой в 6,7 или 8, если дома ты бываешь не раньше 9-ти.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования