Значение тега select в зависимости от url

Статус
В этой теме нельзя размещать новые ответы.

rasandrey

Участник
Регистрация
2 Апр 2009
Сообщения
214
Реакции
6
Есть форма с тегом <select>, у которого 3 значения. Если выбирать в этом списке значение, то срабатывает js, который подставляет в URL type= и наше значение в списке опять становится "Виберите", а нужно чтобы оставалось то, какое мы выбрали из списка. Как можно поправить?
 
Установи проверку в коде. Ты же какие то параметры в URL передаешь.:)
 
Я знаю, что нужно сделать проверку, я только не знаю как это сделать на js и передать параметры в select
 
PHP:
	<script type="text/javascript">
	if (location.href == 'http://awiwatch.ru/price.html')
	location = 'price.html?type=Мужские';
	</script>
							<form>
									<select name="type" ONCHANGE="location ='price.html?type='+ this.options[this.selectedIndex].value;">
									<option value="none">Выберите</option>
									<option value="Мужские">Мужские</option>
									<option value="Женские">Женские</option>
                  					</select>
</form>
У меня такой код. Подскажите на этом примере, что прописать, чтобы при выборе значение в тег select подставлялось выбранное!
 
Зачем вам чистый HTML? Ведь это можно легко сделать на PHP
PHP:
 <? echo '<script type="text/javascript"> 
    if (location.href == \'http://awiwatch.ru/price.html\') 
    location = \'price.php?type=Мужские\'; 
    </script> 
                            <form method="GET"> 
                                    <select name="type" ONCHANGE="location =\'price.php?type=\'+ this.options[this.selectedIndex].value;"> ';
$arr = array("none"=>"Выберите", "Мужские"=>"Мужские", "Женские"=>"Женские");
foreach($arr as $key=>$value){
	$selected = "";
	if($_GET['type']==$key) $selected = " selected";
	echo '<option value="'.$key.'"'.$selected.'>'.$value.'</option>';
}
echo '</select>
</form>';
?>
 
Зачем вам чистый HTML? Ведь это можно легко сделать на PHP
PHP:
 <? echo '<script type="text/javascript"> 
    if (location.href == \'http://awiwatch.ru/price.html\') 
    location = \'price.php?type=Мужские\'; 
    </script> 
                            <form method="GET"> 
                                    <select name="type" ONCHANGE="location =\'price.php?type=\'+ this.options[this.selectedIndex].value;"> ';
$arr = array("none"=>"Выберите", "Мужские"=>"Мужские", "Женские"=>"Женские");
foreach($arr as $key=>$value){
	$selected = "";
	if($_GET['type']==$key) $selected = " selected";
	echo '<option value="'.$key.'"'.$selected.'>'.$value.'</option>';
}
echo '</select>
</form>';
?>

сайт стоит на CMS и в шаблон нету возможности вставлять php код

---------- Post added at 18:34 ---------- Previous post was at 17:00 ----------

еще актуально!
На php не подходит, только JS, помогите, плиз
 
проблема решена, если кому пригодится:
в head вставляем
PHP:
<script type="text/javascript">
//получаем элементы строки запроса
function getQueryItems(uri)
{
var query_items = {};

arr = uri.split('?');
if(!arr[1])
return query_items;

query = arr[1];

arr = query.split('&');

for(index in arr)
{
if(typeof(arr[index]) == 'string')
{
key_value = arr[index].split('=');
if(!key_value[1])
continue;

query_items[key_value[0]] = key_value[1];
}
}

return query_items;
}
//получаем одно значение строки зароса
function getQueryItem (page_href, item_name)
{
arr = getQueryItems(page_href);

if(arr[item_name])
return arr[item_name];
else
return null;
}
// получаем тайп из строки запроса
var type = getQueryItem (window.location.href, 'наше значение в адресной строке');
</script>

в конце странице в теле body вставляем
PHP:
									<script type="text/javascript">
var mySelect= document.getElementById('ID нашего селекта');
for (var i = 0; i < mySelect.options.length; i++) {
if (mySelect.options[i].value == type)
{
mySelect.options[i].selected = 'selected';
break;
}
} 
    			</script>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху