Показать сообщение отдельно
  #1 (permalink)  
Старый 20.07.2011, 16:13
Аспирант
Отправить личное сообщение для MaxD Посмотреть профиль Найти все сообщения от MaxD
 
Регистрация: 18.07.2011
Сообщений: 40

Как сохранить предыдущее значение select?
Вот моя форма в сокращенном варианте, тут только основное!
<form>
<table>
<tr>
<td>
<td>
<select size="1" name="country" id="country">
<option value="-1" selected="">Выберите страну</option>
<option value="0">Другая</option>
<option value="1">Россия</option>
<option value="2">Украина</option>
</select>
</td>
<td/>
</tr>
<tr>
<!--  Все области -->
<td>Область:</td>
<td>
<select id="region" size="1" name="region" style="display: inline">
<option value="-1" selected="">Выберите область</option>
<option value="0">Другой</option>
<option name="2" value="2">Волынская</option>
<option name="1" value="1">Калининград</option>
</select>

<!-- Области отсортированные в соответсвие со странами-->
<select name="region" size="1" id="undefined" style="display: none">
<option value="-1" selected="">Выберите область</option>
<option value="0">Другая</option>
<option name="1" value="1">Калининград</option>
</select>
<select name="region" size="1" id="region2" style="display: none;">
<option value="-1" selected="">Выберите область</option>
<option value="0">Другая</option>
<option name="2" value="2">Волынская</option>
</select>
</td>
<td/>
</tr>
</table>

<input type="text" name="t" id="country_d" style="display: none;"/>
<form>


Вот JS
$('#country').change(
        function()
        {
            var val_c = $(this).val();
            var name_sel = 'region'+val_c;
            
		// Если выбрали поле "Другая", меняем select на input
            if(val_c == 0)
            {
            $('#country').hide().before($('#country_d'));
            $('#country_d').show().attr({'name':'country'}).text('Название города');
            } 

		// Если нажали "Выбрать страну", то появляется select с id = 'region', а предыдущее исчезает и ему возвращается прежний id
            else if (val_c === "-1") 
            {
                $("#mod_region").attr({'id':''+lВот здесь должна быть переменная с предыдущим значением name_sel''}).hide();
	            $("#region").show();
	        } 
            else {

		// Если выбрали какую-то страну то убираем select с id = 'region' и показывает select с id = name_sel, меняем ему id = 'mod_region'
                $("#region").hide();
                $("#"+name_sel+"").attr({'id':'mod_region'}).show(); 
                }
	    
        }
        );


Проблема вот в чем, что когда я к примеру выбираю каку-нибудь страну, все ок! Потом нажимаю "Выбрать страну", select с измененным id на (mod_region) должен стать прежним, т.е. таким каким он был до выбора поля ! Как запомнить предыдущее значение val выбранного поля?!
Ответить с цитированием