вывод текста в зависимости от Select
Ребят, хелп!
Есть 2 select'a <select id="mySelect"> <option value="1" id="tipe1">tipe1</option> <option value="2" id="tipe2">tipe2</option> <option value="3" id="tipe3">tipe3</option> </select> <select id="mySelect2"> <option value="5" id="mon1">mon1</option> <option value="6" id="mon2">mon2</option> <option value="7" id="mon3">mon3</option> <option value="8" id="mon4">mon4</option> </select> <div calss="price"></div> Нужно что бы при выборе 2 селектов выводило текст в div.price Например вы приборе: #tipe1+#mon1 выводило 1000 #tipe1+#mon2 выводило 2000 #tipe2+#mon1 выводило 4000 пробовал через if не получилось if(($('#mySelect #tipe1').is(":checked")) && ($('#mySelect2 #mon1').is(":checked"))){ alert('1'); }; |
Цитата:
Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
$('#mySelect, #mySelect2').change(test);
function test(){
var o={
'1_5': 1000,
'1_6': 2000,
'2_5': 4000
};
var key=$('#mySelect').val();
key+='_'+$('#mySelect2').val();
var val=o[key]? o[key]: '';
$('.price').text(val);
};
test();
});
</script>
</head>
<body>
<select id="mySelect">
<option value="1" id="tipe1">tipe1</option>
<option value="2" id="tipe2">tipe2</option>
<option value="3" id="tipe3">tipe3</option>
</select>
<select id="mySelect2">
<option value="5" id="mon1">mon1</option>
<option value="6" id="mon2">mon2</option>
<option value="7" id="mon3">mon3</option>
<option value="8" id="mon4">mon4</option>
</select>
<div class="price"></div>
</body>
</html>
|
Подскажи пожалуйста, а если там будет не 2 а 3 selecta и 3-4 разных дива где надо выводить разный текст текст
|
Цитата:
|
а есть ли возможность это все реализовать не через value а через id?
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
$('#mySelect, #mySelect2').change(test);
function test(){
var o={
'tipe1_mon1': 1000,
'tipe1_mon2': 2000,
'tipe2_mon1': 4000
};
var key=$('#mySelect > :checked').attr('id');
key+='_'+$('#mySelect2 > :checked').attr('id');
var val=o[key]? o[key]: '';
$('.price').text(val);
};
test();
});
</script>
</head>
<body>
<select id="mySelect">
<option value="1" id="tipe1">tipe1</option>
<option value="2" id="tipe2">tipe2</option>
<option value="3" id="tipe3">tipe3</option>
</select>
<select id="mySelect2">
<option value="5" id="mon1">mon1</option>
<option value="6" id="mon2">mon2</option>
<option value="7" id="mon3">mon3</option>
<option value="8" id="mon4">mon4</option>
</select>
<div class="price"></div>
</body>
</html>
|
$('select').change(function(){
var result = 1;
$.each($('select option:selected'), function(index,value){
result *= $(value).val(); // умножение value каждого select
}
$('.price').text(result);
});
|
Цитата:
Зачем, в твоем случае, искать Цитата:
|
Цитата:
$('select').change(function(){
var result = 1;
$('select').each( function(index,value){
result *= value.value; // умножение value каждого select
}
$('.price').text(result);
});
|
а что если мне нужно умножить 1000 полученную из '1_5': 1000,
на количество получанное из <input class="form-control" type="number" size="3" min="1" value="1" id="qty"> и записать в <div class="sum"></div> В принципе все что указано выше работает, за что спасибо огромное, но вот с умножением не могу разобраться |
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
$('#mySelect, #mySelect2').change(test);
$('.form-control').on('input',test);
function test(){
var o={
'tipe1_mon1': 1000,
'tipe1_mon2': 2000,
'tipe2_mon1': 4000
};
var key=$('#mySelect > :checked').attr('id');
key+='_'+$('#mySelect2 > :checked').attr('id');
var val=o[key]? o[key]: '';
$('.price').text(val);
val*=$('.form-control').val();
$('.sum').text(val);
};
test();
});
</script>
</head>
<body>
<select id="mySelect">
<option value="1" id="tipe1">tipe1</option>
<option value="2" id="tipe2">tipe2</option>
<option value="3" id="tipe3">tipe3</option>
</select>
<select id="mySelect2">
<option value="5" id="mon1">mon1</option>
<option value="6" id="mon2">mon2</option>
<option value="7" id="mon3">mon3</option>
<option value="8" id="mon4">mon4</option>
</select>
<input class="form-control" type="number" size="3" min="1" value="1" id="qty" />
<div class="price"></div>
<div class="sum"></div>
</body>
</html>
|
Ты лучший! спасибо!
|
работает, но цена меняется не при увелечении цифры,а тольк опосле того как ты увеличил и выбрал число из второго селекта
|
$(function(){
$('#mySelect, #mySelect2').change(test);
$('.form-control').on('input',test);
function test(){
var o={
'tipe1_mon1': 18200,'tipe1_mon2': 18200,'tipe1_mon3': 18200,'tipe1_mon4': 17700,'tipe1_mon5': 17700,'tipe1_mon6': 17700,'tipe1_mon7': 17700,'tipe1_mon8': 17700,'tipe1_mon9': 17700,'tipe1_mon10': 17700,'tipe1_mon11': 17700,'tipe1_mon12': 17700,'tipe1_mon13': 17200,'tipe1_mon14': 17200,'tipe1_mon15': 17200,'tipe1_mon16': 17200,'tipe1_mon17': 17200,'tipe1_mon18': 17200,'tipe1_mon19': 17200,'tipe1_mon20': 17200,'tipe1_mon21': 17200,'tipe1_mon22': 17200,'tipe1_mon23': 17200,'tipe1_mon24': 17200,
'tipe2_mon1': 19250,'tipe2_mon2': 19250,'tipe2_mon3': 19250,'tipe2_mon4': 18750,'tipe2_mon5': 18750,'tipe2_mon6': 18750,'tipe2_mon7': 18750,'tipe2_mon8': 18750,'tipe2_mon9': 18750,'tipe2_mon10': 18750,'tipe2_mon11': 18750,'tipe2_mon12': 18750,'tipe2_mon13': 18250,'tipe2_mon14': 18250,'tipe2_mon15': 18250,'tipe2_mon16': 18250,'tipe2_mon17': 18250,'tipe2_mon18': 18250,'tipe2_mon19': 18250,'tipe2_mon20': 18250,'tipe2_mon21': 18250,'tipe2_mon22': 18250,'tipe2_mon23': 18250,'tipe2_mon24': 18250,
'tipe3_mon1': 19670,'tipe3_mon2': 19670,'tipe3_mon3': 19670,'tipe3_mon4': 19170,'tipe3_mon5': 19170,'tipe3_mon6': 19170,'tipe3_mon7': 19170,'tipe3_mon8': 19170,'tipe3_mon9': 19170,'tipe3_mon10': 19170,'tipe3_mon11': 19170,'tipe3_mon12': 19170,'tipe3_mon13': 18670,'tipe3_mon14': 18670,'tipe3_mon15': 18670,'tipe3_mon16': 18670,'tipe3_mon17': 18670,'tipe3_mon18': 18670,'tipe3_mon19': 18670,'tipe3_mon20': 18670,'tipe3_mon21': 18670,'tipe3_mon22': 18670,'tipe3_mon23': 18670,'tipe3_mon24': 18670
};
var key=$('#mySelect > :checked').attr('id');
key+='_'+$('#mySelect2 > :checked').attr('id');
var val=o[key]? o[key]: '';
$('.price').text(val);
val*=$('.qty').val();
$('.sum').text(val);
};
test();
});
<form class="form_callback" id="form_callback">
<label for="type">Тип контейнера :</label>
<select id="mySelect">
<option value="1" id="tipe1">Тип контейнера 1 : Базовый блок-контейнер 20” без дополнительных опций </option>
<option value="2" id="tipe2">Тип контейнера 2 : Блок-контейнер 20-футовый с дополнительным тамбуром</option>
<option value="3" id="tipe3">Тип контейнера 3 : Блок-контейнер 20-футовый с тамбуром и настенным обогревателем</option>
</select>
<label for="srok">Срок аренды, месяцев:</label>
<select id="mySelect2">
<option value="1" id="mon1">1</option>
<option value="2" id="mon2">2</option>
<option value="3" id="mon3">3</option>
<option value="4" id="mon4">4</option>
<option value="5" id="mon5">5</option>
<option value="6" id="mon6">6</option>
<option value="7" id="mon7">7</option>
<option value="8" id="mon8">8</option>
<option value="9" id="mon9">9</option>
<option value="10" id="mon10">10</option>
<option value="11" id="mon11">11</option>
<option value="12" id="mon12">12</option>
<option value="13" id="mon13">13</option>
<option value="14" id="mon14">14</option>
<option value="15" id="mon15">15</option>
<option value="16" id="mon16">16</option>
<option value="17" id="mon17">17</option>
<option value="18" id="mon18">18</option>
<option value="19" id="mon19">19</option>
<option value="20" id="mon20">20</option>
<option value="21" id="mon21">21</option>
<option value="22" id="mon22">22</option>
<option value="23" id="mon23">23</option>
<option value="24" id="mon24">24</option>
</select>
<label for="col">Количество блок-контейнеров, единиц :</label>
<input class="qty" type="number" size="3" min="1" value="1" id="qty" />
<p>Стоимость аренды, ₽ в месяц</p>
<div class="price"></div>
<p>Общая сумма аренды, ₽</p>
<div class="sum"></div>
<input class="crm-webform-submit-button" type="submit">
</form>
|
Прости туплю, разобрался
|
Цитата:
|
ну все работает как надо
|
| Часовой пояс GMT +3, время: 03:35. |