Javascript.RU

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

Прибавлять к числу в блоке другое число в зависимости от checkbox
Есть блок с ценой
<div class="product-item-detail-price-current">177 руб.</div>

Нужно к этому числу прибавить значение в зависимости от выбранного варианта в чекбоксе и отнять значение, если галочка снялась
<div class="checkbox">                                                                                                                      
    <p>
        <input id="24684" type="checkbox" name="dop_services" value="500">
    <label for="24684">Дополнительный экземпляр отчета</label>
    </p>                                                                                                                            
    <p>
    <input id="24685" type="checkbox" name="dop_services" value="200">
    <label for="24685">Электронная версия отчета (с ЭЦП оценщика)</label>
    </p> 
</div>


Нашел скрипт, пытался переделать под себя - не получается.
var boxes = $("input:checkbox");
    $("input:checkbox").on("change", function(){
      var theArray = new Array();
      for (var i=0;i<boxes.length;i++) {
       var box = boxes[i]; 
       if ($(box).prop('checked')) {
          theArray[theArray.length] = $(box).val();
       }
    }
      showValues(theArray);
    });
 
    var showValues = function(array) {
      var oldPriceText = $('.product-item-detail-info-container .product-item-detail-price-current').text();
      oldPrice = Number(oldPriceText.replace(/\D+/g,""));
      var text = "";
      if(array.length == 0) text += "Ни один чекбокс не выбран";
      for(var i = 0; i < array.length; i++) {
         text += "Чекбокс "+array[i]+" выбран!<br />";
         $('.product-item-detail-price-current').text(oldPrice+parseFloat(array[i])+' руб.');
       }
      $(".values").html(text);
    }
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2018, 20:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

EvgenyJS,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  $(".checkbox").on("click", function(e) {
    var sum = [].reduce.call(this.querySelectorAll(":checked"), function(sum, el) {
      return +el.value + sum;
    }, 177);
    $(".product-item-detail-price-current").html(sum + " руб.");
  });
});
  </script>
</head>

<body>
<div class="product-item-detail-price-current" data-price="177">177 руб.</div>
<div class="checkbox">
    <p>
    <input id="24684" type="checkbox" name="dop_services" value="500">
    <label for="24684">Дополнительный экземпляр отчета</label>
    </p>
    <p>
    <input id="24685" type="checkbox" name="dop_services" value="200">
    <label for="24685">Электронная версия отчета (с ЭЦП оценщика)</label>
    </p>
</div>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2018, 20:50
Новичок на форуме
Отправить личное сообщение для EvgenyJS Посмотреть профиль Найти все сообщения от EvgenyJS
 
Регистрация: 24.02.2018
Сообщений: 2

рони,
спасибо большое!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прибавлять число к числу? Forgott Общие вопросы Javascript 9 06.05.2008 08:47