добавление нового элемента в option

I6
На сайте с 30.08.2007
Offline
23
462

Доброго времени суток.

Подскажите пожалуйста как сделать динамичный список option ( например выбора города)

с возможностью добавления нового элемента.

Например список имеет 5 городов и пункт Другой... при выборе которого появляется новый input

C
На сайте с 11.10.2006
Offline
67
cap
#1

Самое простое в select сделать onChange и условие проверки на value option и по нему менять класс полей, которые скрыты. Т.е. два класса стилей: в первом случае в них к полям применен display: none; visibility: hidden; а во втором display: block; visibility: visible;

I6
На сайте с 30.08.2007
Offline
23
#2

Немного уточню... в seleсt нету скрытых полей, новое поле должен вписать пользователь в появившийся input.

За примером далеко не пойдем - поиск в контакте: option со списком городов, выберите город или впишите свои... и пр выборе Другой.. подсписком появляется input для ввода города.

C
На сайте с 11.10.2006
Offline
67
cap
#3

Кто говорил про скрытый option в select? Читайте внимательней. В Вашем случае скрытый класс у скрытых полей input. Да это не важно, хоть это целая таблица в body, хоть 10 полей input, хоть одна буква. Стили есть стили :)

I6
На сайте с 30.08.2007
Offline
23
#4

Не очень силен в JavaScript :) Понял идею.

На примере показать сможете ?

topy
На сайте с 28.03.2006
Offline
142
#5

Да пожалуйста, вот рабочий кусок кода с рабочего сайта...


<SCRIPT>
function t_click(inID, outID)
{
if (document.getElementById(inID).options[document.getElementById(inID).selectedIndex].value == '0')
document.getElementById(outID).style.display = 'block';
else
document.getElementById(outID).style.display = 'none';
}
</SCRIPT>
<SELECT id='Myselect' onchange="t_click('Myselect', 'perimetr');" name='city'>
<OPTION value='1'>Москва</OPTION>
<OPTION value='0'>Другой город</OPTION>
</SELECT>
<DIV id='perimetr' style='display:none;'>
<INPUT type='text' name='city2' style='background-color:#ffffaa;'><font size='2' color='#939393'>&nbsp;*<i>укажите город</i></font>
</DIV>

Остальное, думаю, сами допишите :D

Новости коротко и ясно (https://subnews.ru)
I6
На сайте с 30.08.2007
Offline
23
#6

Большое спасибо ☝

C
На сайте с 11.10.2006
Offline
67
cap
#7

ну или так :) Хотя со стилями короче :p

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий