Javascript.RU

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

Перебрать и сложить данные из select
Здравствуйте. Помогите сложить или вычти данные из select.

<h2>3450 грн.</h2>

<div class="form-group required">
<label class="control-label" for="input-option227">Слово</label>
 <select name="option[227]" id="input-option227" class="form-control">
                
       <option value="17">слово 1</option>
       <option value="18">слово 2(+200 грн.)</option>
       <option value="19">слово3(+300 грн.)</option>
 </select>
</div>

<div class="form-group required">
<label class="control-label" for="input-option227">Слово</label>
 <select name="option[227]" id="input-option227" class="form-control">
                
       <option value="17">слово 1</option>
       <option value="18">слово 2(-150 грн.)</option>
       <option value="19">слово3(+300 грн.)</option>
       <option value="19">слово3(-300 грн.)</option>
 </select>
</div>


Нужно узнать стоит плюс или минус,что б знать что делать с числами.
Ну и естественно сложить или вычитать ,и конечную сумму добавить к сумме в H2.
С одним полем и сложением сделал как то сам.Но понадобилось сделать несколько полей выбора и в некоторых добавить вычитание.
if($("select").is(".form-control")){

	var strpriceval = $(".list-unstyled h2").text();
	var strpricevale = strpriceval.slice(0,-5);
	
	$("select.form-control").change(function () {
	var stroptionval = "";

		$("select.form-control option:selected").each(function(){
			stroptionval += $( this ).text() + " ";
		});
		if(stroptionval.lastIndexOf(")")>=0){
			
			var pricepl = stroptionval.substring(stroptionval.lastIndexOf("(")+2,stroptionval.lastIndexOf(")")-5);
			var fu=Number(pricepl)+Number(strpricevale);
			$(".list-unstyled h2").text(fu+" грн.");
			
		}else {
			$(".list-unstyled h2").text(strpricevale+" грн.");
		}
        
		
	}).change();

    


}

Это то,что смог придумать.Для одного поля
Ответить с цитированием
  #2 (permalink)  
Старый 03.09.2017, 13:33
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<html>
	<head>
	</head>
	<body>
	</body>

	<h2>3450 грн.</h2>

<div class="form-group required">
<label class="control-label" for="input-option227">Слово</label>
 <select name="option[227]" id="input-option227" class="form-control">
                
       <option value="17">слово 1</option>
       <option value="18">слово 2(+200 грн.)</option>
       <option value="19">слово3(+300 грн.)</option>
 </select>
</div>

<div class="form-group required">
<label class="control-label" for="input-option227">Слово</label>
 <select name="option[227]" id="input-option227" class="form-control">
                
       <option value="17">слово 1</option>
       <option value="18">слово 2(-150 грн.)</option>
       <option value="19">слово3(+300 грн.)</option>
       <option value="19">слово3(-300 грн.)</option>
 </select>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
	var x = parseFloat($('h2').text());
	$('.form-control').change(function(){
		var sum = x;
		$('.form-control').find('option:selected').each(function(){
			sum += parseFloat($(this).text().substr($(this).text().indexOf('(')+1))||0;
		});
		$('h2').text(sum+' грн.');
	})
	</script>
</html>


Чтобы в дальнейшем не возникало гемора, цифры которые складывать лучше хранить в value или data атрибуте отдельно, а не в тексте.
id должны быть уникальные.

Последний раз редактировалось j0hnik, 03.09.2017 в 13:44.
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2017, 14:51
Новичок на форуме
Отправить личное сообщение для T3mkaa Посмотреть профиль Найти все сообщения от T3mkaa
 
Регистрация: 03.09.2017
Сообщений: 3

Это движок так генерирует (((
Ответить с цитированием
  #4 (permalink)  
Старый 03.09.2017, 15:00
Новичок на форуме
Отправить личное сообщение для T3mkaa Посмотреть профиль Найти все сообщения от T3mkaa
 
Регистрация: 03.09.2017
Сообщений: 3

j0hnik,
Спасибо огромное.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести в select все данные class djonA Общие вопросы Javascript 10 09.11.2015 02:16
сложить два SELECT ju39ks Общие вопросы Javascript 0 25.06.2014 17:18
Считать данные в select согласно выбранному checkbox SLameN Общие вопросы Javascript 0 17.06.2014 14:12
SQL запрос. Как делать SELECT с условием SELECT Duda.Ml1986@gmail.com Серверные языки и технологии 16 13.01.2014 16:09
Помогите получить данные из select yuri-it Events/DOM/Window 7 03.06.2011 23:52