Собрался вроде с мыслей.
Пользователь заходид. выбирает свой отдел, дальше выбирает свою область, потом свой город, потом свою улицу.
Как то можно сделать отбор что бы учитывало другие поля условия. к примеру отделения ГБ есть только в определенных городх, а по списку забиты все города, так же и улицы. Отделения есть по всех улицах, но ГБ только на определенных
<script type="text/javascript">
function dynamic1(parent,child)
{
var parent_array = new Array();
// This is the default value
parent_array[''] = ['Please select a manufacturer'];
// All other elements
// parent_array['PARENT NAME'] = ['CHILD 1','CHILD 2','CHILD 3','ETC'];
parent_array['ГБ'] = ['','Вінницька','Дніпропетровська','Київська','Луганська','Львівська','Одеська','Полтавська','Харківська','Черкаська'];
parent_array['ЦП'] = ['','Вінницька','Волинська','Дніпропетровська','Донецька','Житомирська','Закарпатська','Запорізька','Івано-Франківська','Київська','Кіровоградська','Львівська','Миколаївська','Одеська','Полтавська','Рівненська','Тернопільська','Харківська','Херсонська','Хмельницька','Черкаська'];
parent_array['РУ'] = ['','Вінницька','Волинська','Дніпропетровська','Донецька','Житомирська','Закарпатська','Запорізька','Івано-Франківська','Київська','Кіровоградська','Луганська','Львівська','Миколаївська','Одеська','Полтавська','Рівненська','Сумська','Тернопільська','Харківська','Херсонська','Хмельницька','Черкаська','Чернівецька','Чернігівська'];
parent_array['ТТ'] = ['','Вінницька','Волинська','Дніпропетровська','Донецька','Житомирська','Закарпатська','Запорізька','Івано-Франківська','Київська','Кіровоградська','Луганська','Львівська','Миколаївська','Одеська','Полтавська','Рівненська','Сумська','Тернопільська','Харківська','Херсонська','Хмельницька','Черкаська','Чернівецька','Чернігівська'];
// Get the child
var thechild = document.getElementById(child);
// Remove all other options from the select element
thechild.options.length = 0;
// What value are we looking for ?
var parent_value = parent.options[parent.selectedIndex].value;
// No value found, use the default value
if (!parent_array[parent_value]) parent_value = '';
// Set the correct length
thechild.options.length = parent_array[parent_value].length;
// Add the options
for(var i=0;i<parent_array[parent_value].length;i++)
{
thechild.options[i].text = parent_array[parent_value][i];
thechild.options[i].value = parent_array[parent_value][i];
}
}
function dynamic2(parent,child)
{
var parent_array = new Array();
// This is the default value
parent_array[''] = ['Please select a manufacturer'];
// All other elements
// parent_array['PARENT NAME'] = ['CHILD 1','CHILD 2','CHILD 3','ETC'];
parent_array['Вінницька'] = [' ','Бар','Бершадь','Вінниця','Гайсин','Жмеринка','Калинівка','Козятин','Немирів','Тульчин'];
parent_array['Волинська'] = [' ','Луцьк','Ковель','Нововолинськ'];
parent_array['Дніпропетровська'] =[' ','Дніпро','Камянське','Кривий Ріг','Нікополь','Новомосковськ','Павлоград','Першотравенськ','Тернівкав'];
parent_array['Донецька'] =[' ','Дружківка','Костянтинівка','Краматорськ','Красноармійськ','Маріуполь','Покровськ','Словянськ'];
parent_array['Житомирська'] =[' ','Бердичів','Житомир','Коростень','Малин','Маріуполь','Новоград-Волинський'];
parent_array['Закарпатська'] =[' ','Берегово','Виноградів','Іршава','Мукачево','Тячів','Ужгород','Хуст'];
parent_array['Запорізька'] =[' ','Запоріжжя','Бердянськ','Мелітополь'];
parent_array['Івано-Франківська'] =[' ','Івано-Франківськ','Калуш','Коломия','Долина'];
parent_array['Київська'] =[' ','Київ','Камянське','Бориспіль','Біла Церква','Бровари','Славутич','Обухів','Васильків'];
parent_array['Кіровоградська'] =[' ','Олександрія','Кропивницький','Світловодськ'];
parent_array['Луганська'] =[' ','Сєвєродонецьк','Старобільськ','Лисичанськ','Рубіжне'];
parent_array['Львівська'] =[' ','Львів','Дрогобич','Стрий','Новояворівськ','Золочів'];
parent_array['Миколаївська'] =[' ','Миколаїв','Вознесенськ','Южноукраїнськ','Баштанка'];
parent_array['Одеська'] =[' ','Балта','Білгород-Дністровський','Ізмаїл','Одеса','Подільськ','Чорноморськ','Южне'];
parent_array['Полтавська'] =[' ','Полтава','Лубни','Кременчук','Горішні Плавні'];
parent_array['Рівненська'] =[' ','Рівне','Костопіль','Дубно'];
parent_array['Сумська'] =[' ','Суми','Шостка','Конотоп','Ромни','Охтирка'];
parent_array['Тернопільська'] =[' ','Тернопіль','Борщів','Чортків'];
parent_array['Харківська'] =[' ','Ізюм','Купянськ','Балаклія','Зміїв','Харків','Чугуїв'];
parent_array['Херсонська'] =[' ','Гола Пристань','Скадовськ','Балаклія','Каховка','Херсон'];
parent_array['Хмельницька'] =[' ','Славута','Камянець-Подільський','Хмельницький'];
parent_array['Черкаська'] =[' ','Золотоноша','Умань','Сміла','Черкаси'];
parent_array['Чернівецька'] =[' ','Чернівці'];
parent_array['Чернігівська'] =[' ','Ніжин','Прилуки','Чернігів'];
// Get the child
var thechild = document.getElementById(child);
// Remove all other options from the select element
thechild.options.length = 0;
// What value are we looking for ?
var parent_value = parent.options[parent.selectedIndex].value;
// No value found, use the default value
if (!parent_array[parent_value]) parent_value = '';
// Set the correct length
thechild.options.length = parent_array[parent_value].length;
// Add the options
for(var i=0;i<parent_array[parent_value].length;i++)
{
thechild.options[i].text = parent_array[parent_value][i];
thechild.options[i].value = parent_array[parent_value][i];
}
}