|
Помогите сделать такой select
Есть два селекта:
первый: <select name="dost"> <option value="0">Выберете способ доставки</option> <option value="1">Почтой России (оплата при получении)</option> <option value="2">Курьером по России (Оплата по предоплате)</option> </select> и второй: <select name="pay"> <option value="0">Выберете способ оплаты</option> <option value="1">Наличными при получении</option> <option value="2">Предоплата на Яндекс деньги</option> <option value="3">Предоплата на WebMoney</option> </select> Как сделать если в первом селекте выбран способ почтой России, то во втором селекте автоматом выбирается оплата при получении, а остальные option становятся не активными к выбору. Ну и размеется если выбран способ Курьером по России, то во втором селекте становится неактивным наличными при получении. Надеюсь понятно описал задачу. Заранее спасибо за ответы. |
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<select class="select1" name="dost">
<option value="0">Выберете способ доставки</option>
<option value="1">Почтой России (оплата при получении)</option>
<option value="2">Курьером по России (Оплата по предоплате)</option>
</select>
<select class="select2" name="pay">
<option value="0">Выберете способ оплаты</option>
<option value="1">Наличными при получении</option>
<option value="2">Предоплата на Яндекс деньги</option>
<option value="3">Предоплата на WebMoney</option>
</select>
<script>
$('.select1').change(function() {
switch($(this).val()) {
case '0':
//Действие выполнится при выборе первого option
break;
case '1':
//Действие выполнится при выборе второго option
break;
case '2':
//Действие выполнится при выборе третьего option
break;
}
});
</script>
|
Цитата:
Цитата:
|
Нечто вроде такого...
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
#case1,
#case2 {
display: none;
}
</style>
<script type="text/javascript">
function test(Case) {
switch(Case) {
case '1':
document.getElementById('case1').style.display='inline';
document.getElementById('case2').style.display='';
break;
case '2':
document.getElementById('case1').style.display='';
document.getElementById('case2').style.display='inline';
break;
default:
document.getElementById('case1').style.display='';
document.getElementById('case2').style.display='';
};
};
</script>
</head>
<body>
<label>Выберете способ доставки
<select name="dost" onchange='test(this.value);'>
<option value="0"></option>
<option value="1">Почтой России (оплата при получении)</option>
<option value="2">Курьером по России (Оплата по предоплате)</option>
</select>
</label>
<div>
<p id='case1'>Оплата наличными при получении</p>
<label id='case2'>Выберете способ оплаты:
<select name="pay">
<option value="0"></option>
<option value="2">Предоплата на Яндекс деньги</option>
<option value="3">Предоплата на WebMoney</option>
</select>
</label>
</div>
</body>
</html>
|
Цитата:
|
tsigel - Зоркий сокол! :D
|
Всем спасибо за ответы) воспользовался способом ksa, работает)
|
Возникла такая проблема, у меня идет проверка через js правильность заполнения полей..
function send(){
var f=document.forms['checkout'];
if(!f.name.value || f.name.value=='') alert('Введите Ваше ФИО!');
else if(!f.address.value || f.address.value=='') alert('Введите Ваш адрес!');
else if (f.dost.selectedIndex == 0) alert('Выберите способ доставки!');
else if (f.pay.selectedIndex == 0) alert('Выберите способ оплаты!');
else f.submit();
}
Как сделать чтобы не вылазила ошибка вы не выбрали способ оплаты?) |
Цитата:
|
а как эт изменить нужно? Сори, но js вообще не курю((
|
| Часовой пояс GMT +3, время: 06:25. |
|