Показать сообщение отдельно
  #1 (permalink)  
Старый 24.11.2016, 19:11
Новичок на форуме
Отправить личное сообщение для Harmattan Посмотреть профиль Найти все сообщения от Harmattan
 
Регистрация: 24.11.2016
Сообщений: 2

подстановка из select'a
Добрый день. В js полный ноль. Много тем как подставить значение из селекта формы в input той же формы, но у меня немного другое.

Есть форма вида:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<form  action="" method="post" class="form-horizontal">
	<select class="col-xs-12 choise" name="choise" required>
		<option value="">Выберите пункт списка</option>
		<option value="Audi">Вариант 1</option>
		<option value="BMW">Вариант 2</option>
		<option value="Mercedes">Вариант 3</option>
		<option value="ВАЗ">Вариант 4</option>
		<option value="УАЗ">Вариант 5</option>
		<option value="Велосипед">Вариант 6</option>
	</select>

	Срок сдачи: через <input type="text" name="srok" class="days" disabled> дней
</form>

Хитрость заключается в том, что необходимо подставлять в input число в зависимости от выбранного селекта. К примеру, для BMW - это 10. Для велосипеда - 15. В идеале бы вообще чтобы подставлялось значение даты плюс определённое количество дней. К примеру, для BMW = текущая дата + 10 дней. Для ВАЗ = текущая дата + 10 дней, а для велосипеда = текущая дата + 15 дней. Я так понимаю, тут должен быть оператор case, но с синтаксисом не дружу. Помогите пожалуйста. Заранее спасибо.
------
UPD. Получилось сделать if'ами на jquery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
	$(document).ready(function(){
		function displayOtdel(){
			var srok = 0;
			var value = $(".choise").val();
			if(value == "BMW") srok = 15;
			if(value == "Велосипед") srok = 55;
			if(value == "ВАЗ") srok = 10;
			if(value == "Mercedes") srok = 7;
			if(value == "УАЗ") srok = 10;
			if(value == "AUDI") srok = 30;
			$("input.days").val(srok);
		}
		$("select").change(displayOtdel);
		displayOtdel();
	});
</script>
<select name="otdel" class="choisel">
	<option value=""></option>
	<option value="Велосипед">Велосипед</option>
	<option value="BMW">BMW</option>
	<option value="ВАЗ">ВАЗ</option>
	<option value="Mercedes">Mercedes</option>
	<option value="AUDI">AUDI</option>
	<option value="УАЗ">УАЗ</option>
</select>
<strong>Срок: через <input type="text" name="srok_end" class="days" size="11" value="" disabled><strong> дней</strong>

Но проблема в том, что jquery у меня должно вызываться в конце страницы. То есть после данного скрипта. Да и чувствую, что вариант с ифами не комильфо. Собственно, вопрос: можно ли как-нибудь сделать не на jquery и case'ом?

Последний раз редактировалось Harmattan, 24.11.2016 в 19:42.
Ответить с цитированием