Ребят, помогите решить задачку.
Суть в следующем:
Есть один select со списком регионов,
<select id="reg_region_name">
<option class="moscow_city_only" value="Москва">Москва</option>
<option class="adigeya_city" value="Адыгея">Адыгея</option>
<option class="altay_city" value="Алтайский край">Алтайский край</option>
(не ругайте за классы в option, по-другому не знал как сделать, что бы сохранить value нормальным)
После региона идет куча select'ов с городами каждого региона, по умолчанию все из них скрыты, а id этих селектов равен классу option.
Пользователь выбирает регион, срабатывает change ф-я, которая выбирает тот самый класс из option и подставляет его в fadeIn, тем самым делая видимым нужный select с выбором города. Тут проблем нет. На всякий приложу часть код открытия:
$('#fact_region_name').change(function() {
names_fact = $("#fact_region_name option:selected").attr("class");
$('#' + names_fact).fadeIn().addClass("fact_city_name");
});
Вот в чем проблема. Понадобилось сделать так, что бы при выборе этого самого города, в другом select'е выставлялось точно такое же значение. Т.е. пользователь должен выбирать регион и город дважды. Что бы его не напрягать нужно что бы при первом выборе селекта значения сдублировались на второй. С выбором региона проблем не возникло, а вот с выбором города никак не получается.
Нужно снова воспользоваться ф-ей change, но как ей указать какой именно из select'ов отследить, их ведь целая куча скрытых, а нужен тот, который открылся после выбора региона.
пытался сделать сначала так:
$('select.fact_city_name').change(function() {
alert('прокатило');
});
Т.е. когда селект с городом открывался - ему присваивался класс "fact_city_name" и по нему пытался отследить его изменение. Не прокатило.
Потом попробовал провернуть через глобальную переменную names_fact, которая была равна классу option при выборе региона:
$( '#'+names_fact).change(function() {
alert('прокатило');
});
Тоже не получилось. Надеюсь поможете разобраться в чем дело.