Показать сообщение отдельно
  #1 (permalink)  
Старый 18.09.2009, 00:39
Новичок на форуме
Отправить личное сообщение для FlintOFF Посмотреть профиль Найти все сообщения от FlintOFF
 
Регистрация: 18.09.2009
Сообщений: 1

Установить selected в динамических списках при загрузке страницы
Добрый день.
Пишу сайт, для удобства пользователя решил подгружать в сортировке городов динамические списки на Jquery методом getJSON. Все замечательно работает только не могу уже неделю реализовать простую вещь. Дело в том что когда пользователь сделал выбор в динамических списках, JavaScipt переходит на другую страницу где в URL прописаны параметры сортировки, и уже на другой странице я хочу что б select были заполнены по умолчанию выбранными параметрами пользователя.

Подскажите есть ли встроенные возможности в Jquery для "автозаполнения"?

P.S. вот сам скрипт. не удивляйтеся обратным слешам, он у меня выводится через echo на PHP и замечательно работает.
<script src="'.$site_link.'ajax/js/jquery-1.3.1.js" type="text/javascript"></script>

<script type="text/javascript">
(function($){
  // очищаем select
  $.fn.clearSelect = function() {
	  return this.each(function(){
		  if(this.tagName==\'SELECT\') {
		      this.options.length = 0;
		      $(this).attr(\'disabled\',\'disabled\');
		  }
	  });
  }
  // заполняем select
  $.fn.fillSelect = function(dataArray) {
	  return this.clearSelect().each(function(){
		  if(this.tagName==\'SELECT\') {
			  var currentSelect = this;
			  $.each(dataArray,function(index,data){
				  var option = new Option(data.text,data.value);
				  if($.support.cssFloat) {
					  currentSelect.add(option,null);
				  } else {
					  currentSelect.add(option);
				  }
			  });
		  }
	  });
  }
})(jQuery);
</script>
<script type="text/javascript">
$(document).ready(function(){

  // выбор области
  function adjustRegion(){
  	var countryValue = $(\'#country\').val();
  	var tmpSelect = $(\'#region\');
  	if(countryValue.length == 0) {
  		tmpSelect.attr(\'disabled\',\'disabled\');
  		tmpSelect.clearSelect();
  		adjustCity();
  	} else {
  		$.getJSON(\''.$site_link.'ajax/ajax_connect.php\',{control:\'region\',country:countryValue},function(data) { tmpSelect.fillSelect(data).attr(\'disabled\',\'\'); adjustCity(); });
  		
  	}
  };
  // выбор города
  function adjustCity(){
  	var countryValue = $(\'#country\').val();
  	var regionValue = $(\'#region\').val();
  	var tmpSelect = $(\'#city\');
  	if(countryValue.length == 0||regionValue.length == 0) {
  		tmpSelect.attr(\'disabled\',\'disabled\');
  		tmpSelect.clearSelect();
  	} else {
  		$.getJSON(\''.$site_link.'ajax/ajax_connect.php\',{control:\'city\',country:countryValue,region:regionValue},function(data) { tmpSelect.fillSelect(data).attr(\'disabled\',\'\'); });
  	}
  };
	
  $(\'#country\').change(function(){
  	adjustRegion();
  }).change();
  $(\'#region\').change(adjustCity);
  $(\'#city\').change(function(){
  	if($(this).val().length != 0)
  	{ 
  		function my_car_link()
		{
			
			var countryValue = $(\'#country\').val();
			var regionValue = $(\'#region\').val();
			var cityValue = $(\'#city\').val();
			
			my_link=top.location.href="'.$url_page.'"+countryValue+"-"+regionValue+"-"+cityValue+"/";
		
			return my_link;
		}
		my_car_link();
  	
  	}
  });

});
</script>

  <table border="1">
  <tr>
  <td>
  <select id="country" >
    <option value="">Страна</option>
    <option value="380">Украина</option>
    <option value="7">Россия</option>
  </select>
  </td>
  <td>
  <select id="region" disabled="disabled" ></select>
  </td>
  <td>
  <select id="city" disabled="disabled"></select>
  
  </td>
Ответить с цитированием