javascript 价格数量变化数量和价格woocommerce按价格改变价格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 价格数量变化数量和价格woocommerce按价格改变价格相关的知识,希望对你有一定的参考价值。

Simple product with one or sale price

—-- JS

function initCountSimpleQtyPrice() {

  var qtyInput = jQuery('.product-type-simple .quantity .qty');
  var countedPrice = jQuery('.sale.product-type-simple .summary .price ins .woocommerce-Price-amount');
  var variationCountedPrice = jQuery('#countedprice');

  if( countedPrice.length == false && variationCountedPrice.length == false ){
    countedPrice = jQuery('.product-type-variable .summary .price .woocommerce-Price-amount');
    qtyInput = jQuery('.product-type-variable .quantity .qty');
  }

  if( countedPrice.length == false ){
    countedPrice = jQuery('.product-type-simple .summary .price .woocommerce-Price-amount');
    qtyInput = jQuery('.product-type-simple .quantity .qty');
  }

  if( qtyInput.length != false && countedPrice.length != false ){

    var priceHtml = countedPrice.html();
    var splitedPriceHtml = priceHtml.split('</span>');

    qtyInput.on( "input",function (e) {

      if( qtyInput.val() > 0 ){

        countPrice = qtyInput.val()*splitedPriceHtml[1];

        countedPrice.html( splitedPriceHtml[0]+countPrice.toFixed(2) );

      }

    });
  }

}

function initCountVariationQtyPrice() {

  var qtyInput = jQuery('.product-type-variable .quantity .qty');
  var variantPrice;
  var countedPrice = jQuery('#countedprice');
  var priceHtml;
  var splitedPriceHtml;

  if( qtyInput.length != false && countedPrice.length != false ){

    priceHtml = countedPrice.html();
    splitedPriceHtml = priceHtml.split('</span>');

    qtyInput.on( "input",function (e) {

      if( qtyInput.val() > 0 ){

        countPrice = qtyInput.val()*splitedPriceHtml[1];

        countedPrice.html( splitedPriceHtml[0]+countPrice.toFixed(2) );

      }

    });
  }

  jQuery( ".single_variation_wrap" ).on( "show_variation", function ( event, variation ) {

    qtyInput = jQuery('.product-type-variable .quantity .qty');
    variantPrice = jQuery('.product-type-variable .single_variation_wrap .woocommerce-variation-price .woocommerce-Price-amount');
    countedPrice = jQuery('#countedprice');

    priceHtml = variantPrice.html();
    splitedPriceHtml = priceHtml.split('</span>');

    countPrice = qtyInput.val()*splitedPriceHtml[1];

    countedPrice.html( splitedPriceHtml[0]+countPrice.toFixed(2) );

  } );

}
—-- HTML

<p class="price">
    <span class="woocommerce-Price-amount amount">
        <span class="woocommerce-Price-currencySymbol">&pound;</span>100.00
    </span>
</p>

и

<?php if( count( $available_variations ) > 1 ): ?>
  <div class="woocommerce-variation">
    <div class="custom-qtyprice">
          <span class="price">
              <span id="countedprice"></span>
          </span>
      </div>
  </div>
<?php endif; ?>

以上是关于javascript 价格数量变化数量和价格woocommerce按价格改变价格的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 或 jQuery 中增加和减少数量时如何计算价格?

jquery实现的购物车商品数量变化,价格随之变动,但是总价格怎么跟着变啊?

jquery改变表单某个输入框的值时,另一个或几个输入框的值同步变化,这里演示的是改变数量时价格同步变化

赛普拉斯点击不会触发操作

使用给定的价格和数量更改小计(自定义属性)

jquery方式的价格随数量增加删除当前行与所有行