Показать сообщение отдельно
  #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();

    


}

Это то,что смог придумать.Для одного поля
Ответить с цитированием