Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.04.2013, 17:55
Интересующийся
Отправить личное сообщение для silor Посмотреть профиль Найти все сообщения от silor
 
Регистрация: 24.04.2013
Сообщений: 20

Помогите сделать такой 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 становятся не активными к выбору.
Ну и размеется если выбран способ Курьером по России, то во втором селекте становится неактивным наличными при получении.
Надеюсь понятно описал задачу. Заранее спасибо за ответы.
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2013, 13:23
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

<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>

Последний раз редактировалось tsigel, 25.04.2013 в 13:35.
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2013, 14:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от silor
если в первом селекте выбран способ почтой России, то во втором селекте автоматом выбирается оплата при получении
В этом случае и селекта второго не нужно совсем. Т.к. нет самого выбора...

Сообщение от silor
если выбран способ Курьером по России
Таки показать второй селект с двумя альтернативами...
Ответить с цитированием
  #4 (permalink)  
Старый 25.04.2013, 14:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Нечто вроде такого...

<!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>

Последний раз редактировалось ksa, 25.04.2013 в 15:04.
Ответить с цитированием
  #5 (permalink)  
Старый 25.04.2013, 14:58
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Сообщение от ksa
Опечаточка.
Ответить с цитированием
  #6 (permalink)  
Старый 25.04.2013, 15:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

tsigel - Зоркий сокол!
Ответить с цитированием
  #7 (permalink)  
Старый 25.04.2013, 15:21
Интересующийся
Отправить личное сообщение для silor Посмотреть профиль Найти все сообщения от silor
 
Регистрация: 24.04.2013
Сообщений: 20

Всем спасибо за ответы) воспользовался способом ksa, работает)
Ответить с цитированием
  #8 (permalink)  
Старый 26.04.2013, 16:01
Интересующийся
Отправить личное сообщение для silor Посмотреть профиль Найти все сообщения от silor
 
Регистрация: 24.04.2013
Сообщений: 20

Возникла такая проблема, у меня идет проверка через 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();
}



Как сделать чтобы не вылазила ошибка вы не выбрали способ оплаты?)
Ответить с цитированием
  #9 (permalink)  
Старый 26.04.2013, 16:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от silor
Как сделать чтобы не вылазила ошибка вы не выбрали способ оплаты?
Проверить надо ли это вообще проверять...
Ответить с цитированием
  #10 (permalink)  
Старый 26.04.2013, 16:33
Интересующийся
Отправить личное сообщение для silor Посмотреть профиль Найти все сообщения от silor
 
Регистрация: 24.04.2013
Сообщений: 20

а как эт изменить нужно? Сори, но js вообще не курю((
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста помогите сделать проверку выполнения vk Dodik Общие вопросы Javascript 3 01.03.2013 16:49
Помогите сделать юзер скрипт для выделения текста. deerc Общие вопросы Javascript 2 23.03.2012 10:31
Сделать список multiple select с сортировкой элементов Nargiza Элементы интерфейса 2 17.08.2010 14:44
Помогите сделать sss2019 Элементы интерфейса 15 15.06.2010 15:23
Помогите сделать элементарную вещь! sdff Общие вопросы Javascript 6 27.10.2008 12:06