Показать сообщение отдельно
  #1 (permalink)  
Старый 14.04.2015, 16:59
Новичок на форуме
Отправить личное сообщение для tatynechka Посмотреть профиль Найти все сообщения от tatynechka
 
Регистрация: 14.04.2015
Сообщений: 7

Расчет стоимости jquery
Здравствуйте. Есть форма заказа. Скрипт для расчета стоимости написан, нужно сделать условие, что при заказе от 100 бутылок скидка составит 15% от общей стоимости.
Код формы:
<div class="col-md-12">
  <table class="table">
    <tbody><tr class="trth">
      <th colspan="2">Наименование</th>
      <th>Цена (руб.)</th>
      <th>Количество</th>
      <th>Стоимость (руб.)</th>
    </tr>
    <tr class="cart_item">
      <td class="product-thumbnail">
         <img class="attachment-small wp-post-image" src="">
      </td>
      <td class="product-name">
          <p class="product-name__text">Бутылка 0,33 л</p>
      </td>
      <td class="product-price">
          <p class="product-price__value">55</p>
      </td>
      <td class="product-quantity">
        <div class="product-quantity__value">
          <input class="product-quantity__input" type="number" step="1" min="0" value="0" title="Qty" size="2">
        </div>
       </td>
       <td class="product-subtotal">
           <p class="product-subtotal__price">0</p>
       </td>
     </tr>
     <tr class="cart_item">
       <td class="product-thumbnail">
           <img class="attachment-small wp-post-image" src="">
       </td>
       <td class="product-name">
           <p class="product-name__text">Бутылка 0,5 л</p>
       </td>
       <td class="product-price">
           <p class="product-price__value">75</p>
       </td>
       <td class="product-quantity">
         <div class="product-quantity__value">
           <input class="product-quantity__input" type="number" step="1" min="0" value="0" title="Qty" size="2">
         </div>
       </td>
       <td class="product-subtotal">
           <p class="product-subtotal__price">0</p>
       </td>
     </tr>
     <tr class="cart_item">
       <td class="product-thumbnail">
           <img class="attachment-small wp-post-image" src="">
       </td>
       <td class="product-name">
           <p class="product-name__text">Бутылка 0,75 л</p>
       </td>
       <td class="product-price">
           <p class="product-price__value">100</p>
       </td>
       <td class="product-quantity">
         <div class="product-quantity__value">
           <input class="product-quantity__input" type="number" step="1" min="0" value="0" title="Qty" size="2">
         </div>
        </td>
        <td class="product-subtotal">
            <p class="product-subtotal__price">0</p>
        </td>
      </tr>
      <tr class="noborder total-info-tr">
        <td colspan="2"></td>
        <td colspan="3">
            <strong>При заказе от 100 бутылок предоставляется скидка 15 % от общей суммы заказа<strong></strong></strong>
        </td>
      </tr>
      <tr class="noborder total-summ-tr">
        <td colspan="4" class="order-amount__first">
            <p>СУММА ЗАКАЗА:</p>
        </td>
        <td class="order-amount__second">
            <p>0</p><span> руб.</span>
        </td>
      </tr>                         
    </tbody>
  </table>
</div>


Скрипт:
function count_totals(){
 
    var total = 0;  // значение общей суммы заказа
 
    var list = "";  // перечень заказанных товаров
 
    var listHidden = "";
    
    var discount = 0.15; //скидка
    
 
    $('.cart_item').each(function(){
 
      var price = $(this).find(".product-price__value").text(); // исходная цена товар 
      var qty = $(this).find(".product-quantity__input").val(); // значение value number
      var title = $(this).find(".product-name__text").text(); // название товара
 
      var summ = price*qty; // значение конечной цены за товар
      
   
      $(this).find(".product-subtotal__price").text(summ);
      
      total+=summ; 
            
      if (summ!=0) {list+= "<li> "+title+" "+qty+ " шт"+" </li> ";}
 
      if (summ!=0) {listHidden+=  "| "+title+" "+qty+ " шт"+" |";}
      if (qty >=100 ){total=total-(total*discount);} //считаем скидку      
 
    });
 
    list = '<ul>' +  list  + '</ul>';
    listHidden =  listHidden + " Общая сумма заказа "+ total+" руб.";
    
    $(".order-amount__second p").text(total); // обновляем общую сумму
    $(".list_products").html(list);// в textarea добавляем
    $("#hidden-info").val(listHidden);
  }
 
  count_totals();
  $("input").on("change",function(){
    count_totals();
  })


Вот, расчет скидки я сделала вот так if (qty >=100 ){total=total-(total*discount);} И это работает если только один вид товара заказать от 100шт., а если товар 1 (50 шт), товар 2 (40шт) и товар 3 (10шт), то не работает. А если товар 1 заказать 100шт, а товар 2 еще 20 шт, то общая сумма считается неправильно, скидка делается от суммы за 100шт, а не от общей. Надеюсь на вашу помощь, а то я уже голову сломала
Ответить с цитированием