Доброго времени суток!
Наткнулся на такую задачу
есть вот такая форма
<form rel="nofollow" name="filter" action="/filter" method="get" id="filter-form" onsubmit="filterSubmit(); return false;">
<ul>
<li class="filter-opt city-opt">
<select name="city" id="city" onchange="setCity(this.value, this)">
<option value="" selected>Город</option>
<option value="0">Все</option>
<?php foreach (getCityList() as $c) { ?>
<option value="<?php echo $c->id; ?>">
<?php echo $c->name; ?>
</option>
<?php if ($c->id == $params['city']) $temp_city = $c->name; ?>
<?php } ?>
</select>
<input type="hidden" class="opt-id" id="f-city" value="<?php echo $params['city']; ?>"/>
</li>
<li class="filter-opt auto-opt">
<select name="auto" onchange="setAuto(this.value, this)">
<option value="" selected>Марка</option>
<option value="0">Все</li>
<?php foreach (getAutoList() as $c) { ?>
<option value="<?php echo $c->id; ?>">
<?php echo $c->name; ?>
</option>
<?php if ($c->id == $params['auto']) $temp_auto = $c->name; ?>
<?php } ?>
</select>
<input type="hidden" class="opt-id" id="f-auto" value="<?php echo $params['auto']; ?>"/>
</li>
<li class="filter-opt type-opt">
<select name="cat" onchange="setType(this.value, this)">
<option value="" selected>Что искать?</option>
<option value="0">Все</option>
<?php foreach (getTypeList() as $c) { ?>
<option value="<?php echo $c->tid; ?>">
<?php echo $c->name; ?>
</optioon>
<?php if ($c->tid == $params['cat']) $temp = $c->name; ?>
<?php } ?>
</ul>
<input type="hidden" class="opt-id" id="f-type" value="<?php echo $params['cat']; ?>"/>
</li>
<li class="filter-opt sub-opt<?php if ($params['cat'] < 1 ) echo ' hidden-field'; ?>">
<select name="sub_cat" onchange="setSub(this.value, this)">
<option value="" selected>Уточним?</option>
<option value="0">Все</option>
<?php if ($params['cat'] > 0) { ?>
<?php if ($getSubcat = _getCategoryList($params['cat'])) { ?>
<?php foreach ($getSubcat as $c) { ?>
<option value="<?php echo $c->tid; ?>">
<?php echo $c->name; ?>
</option>
<?php if ($c->tid == $params['subcat']) $temp = $c->name; ?>
<?php } ?>
<?php } ?>
<?php } ?>
</select>
<input type="hidden" class="opt-id" id="f-sub" value="<?php echo $params['subcat']; ?>" />
</li>
</ul>
<div class="bckg"><input type="submit" value="Подобрать" onclick="changeFilterAction('');" /></div>
<div class="bckg"><input type="submit" value="Отобразить списком" onclick="changeFilterAction('filter');" /></div>
</form>
function setType(type) {if(type == 0) {$('#f-sub').val(0);$('.sub-opt').addClass('hidden-field');}$('.type-opt #f-type').val(type);getSubcategory(type);}
function setAuto(type) {$('.auto-opt #f-auto').val(type);}
function setCity(type) {$('.city-opt #f-city').val(type);}
function setSub(type) {$('.filter-opt.sub-opt select').click(function(){$('.filter-opt.sub-opt select').css("left","-9999 !important");});$('.sub-opt #f-sub').val(type);}
function getSubcategory(type) {if (type > 0) {$.ajax({url: 'ac?t=sub',data: {id: type},success: function(data) {if (data) {$('.sub-opt select').html(data);$('.sub-opt').removeClass('hidden-field');} else {$('.sub-opt').addClass('hidden-field');$('#f-sub').val(0);}}});}}
function filterSubmit() {var path = $('#filter-form').attr('action');var get = '';if (get = getParamString()) path += '?' + get;window.location.href = path;}
function changeFilterAction(action) {
$('#filter-form').attr('action', '/' + action);
}
/**
* для карты
*/
function getParamString() {var filters = new Array();var param = 0;if ((param = parseInt($('#f-city').val())) > 0) filters.push('f\[city\]=' + param);if ((param = parseInt($('#f-auto').val())) > 0) filters.push('f\[auto\]=' + param);if ((param = parseInt($('#f-type').val())) > 0) filters.push('f\[cat\]=' + param);if ((param = parseInt($('#f-sub').val())) > 0) filters.push('f\[subcat\]=' + param);
return filters.length > 0 ? filters.join('&') : '';
}
Выдается результат на карту или списком через адресную строку формат
http://mysite/?f[city]=n&f[auto]=n&f[cat]=n&f[subcat]=n, но значения select не запоминаются после загрузки страницы с результатами
Вопроса по сути 2 как сделать так чтоб после загрузки данных значения в форме были теми что выбраны, а не по умолчанию ?
и другой более замороченный. есть карта есть форма как сделать так чтоб при выборе значения результат сразу отображался на карте?
надеюсь что есть добрые люди))) в js не очень шарю увы(((