Добрый день.
Пишу сайт, для удобства пользователя решил подгружать в сортировке городов динамические списки на 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>