Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2020, 12:34
Профессор
Отправить личное сообщение для espltd Посмотреть профиль Найти все сообщения от espltd
 
Регистрация: 10.10.2012
Сообщений: 201

Нужна помощь в скрипте расчёта!
Всем доброго дня! Уважаемые, подскажите пожалуйста... На jquery не писал очень давно..

суть такова.. ни как не удается сделать корректный подсчет... например человек выбрал параметр в первом селекте, а во втором не выбрал. или наоборот - в первом не выбрал, а выбрал во втором.. или ничего не выбрал в селектах, но зато выбрал один или оба чекбоксов. Я написал много условий с конструкциями if,else. но понял, что только запутался!! , уверен, что есть более короткий вариант для подобных штук, но опыта не хватает., т.к. я пхп-шник. Помогите плиз. Иными словами здесь просто идет не большой подсчет и обновляет ценник в диве... Буду очень благодарен за помощь)

есть 2 селекта такого вида

<select id="size">
   <option val="0">выберите</option>
   <option val="1000">1000</option>
   <option val="2000">2000</option>
</select>

<select id="col">
   <option val="0">выберите</option>
   <option val="1">1 шт</option>
   <option val="2">2 шт</option>
</select>


и

2 чекбокса

<input type="checkbox" id="yes" class="modCheckbox" name="yes" aria-invalid="false"> //если выбран, то к ценнику прибавить 500

<input type="checkbox" id="no" class="modCheckbox" name="no" aria-invalid="false"> //если выбран, то прибавить 1000


внизу div

<div id="priceup">500</div>

Последний раз редактировалось espltd, 12.02.2020 в 12:37.
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2020, 12:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

espltd,
Ответить с цитированием
  #3 (permalink)  
Старый 12.02.2020, 12:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

espltd, про селекты понятно - рубли множить на штуки...
А с чеками как быть?
Если они про что-то одно yes/no так это вообще не чекбоксами нужно делать, а радиокнопками... Или одним чеком - выбран или нет...
Ответить с цитированием
  #4 (permalink)  
Старый 12.02.2020, 12:44
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

espltd, вот тебе макетик для начала...

<!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(){
	$('#size,#col,#yes,#no').on('input',function(){
		alert(1)
	})
});
</script>
</head>
<body>
<select id="size">
   <option value=""></option>
   <option value="1000">1000</option>
   <option value="2000">2000</option>
</select>
<select id="col">
   <option value=""></option>
   <option value="1">1 шт</option>
   <option value="2">2 шт</option>
   <option value="3">3 шт</option>
</select>
<input type="checkbox" id="yes" class="modCheckbox" name="yes" aria-invalid="false">
<input type="checkbox" id="no" class="modCheckbox" name="no" aria-invalid="false">
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 12.02.2020, 12:53
Профессор
Отправить личное сообщение для espltd Посмотреть профиль Найти все сообщения от espltd
 
Регистрация: 10.10.2012
Сообщений: 201

не доходит(((((

я вот по такому принципу делал, это касается одного только чекбокса, очень громоздко все.... На самом деле понимаю, что оно должно работать не на куче условий по if, else, а скорее как-то взаимоисключать не выбранные элементы, а оставлять только выбранные... возможно ошибаюсь... подсчет не получатеся все равно...


$('#count').on('click', function () {
    
      if ( $(this).is(':checked') ) {
      
      	
        if( (resultSize || resultBorder) == 0 ){
        	$('#priceup').text( (priceDefault + 1800) );
        }
        
       
        if(resultSize != 0){
        	$('#priceup').text( (priceDefault + size + 1800) ); 
        }
        
        
        if(resultBorder != 0){
        	$('#priceup').text( (priceDefault + border + 1800) ); 
        }
        
       
        if( (resultSize && resultBorder) != 0 ){
        	$('#priceup').text( (priceDefault + size + border + 1800) ); 
        }
        
      } else {
      		
           
            if( (resultSize || resultBorder) == 0 ){
            	$('#priceup').text( priceDefault ); 
            }
            
      		
            if(resultSize != 0){
        		$('#priceup').text( (priceDefault + size) ); 
        	}  
            
           
            if(resultBorder != 0){
        		$('#priceup').text( (priceDefault + border) ); 
        	} 
            
          
            if( (resultSize && resultBorder) != 0 ){
            	$('#priceup').text( (priceDefault + size + border) ); 	
            }
            
                
            if( (resultSize != 0) && (resultBorder == 0) ){
            	$('#priceup').text( (priceDefault + size - border) );
            }
            
            
      }
      
	});
Ответить с цитированием
  #6 (permalink)  
Старый 12.02.2020, 14:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

espltd, определите значения флажкам соответственно 1800 и 0, и просто складывайте с выбранным, без всяких условий.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь в скрипте по накрутке посетителей на сайт Krusher Ваши сайты и скрипты 1 14.08.2016 19:04
Нужна помощь в скрипте на jQuery artem9009 Общие вопросы Javascript 14 29.09.2015 18:29
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17
Ошибка в простеньком скрипте, нужна помощь Taisia Элементы интерфейса 11 07.03.2010 00:51