【问题标题】:Get variable product price with jquery - WooCommerce使用 jquery 获取可变产品价格 - WooCommerce
【发布时间】:2016-10-15 19:28:08
【问题描述】:

我对每个包含不同价格的产品都有一些变化,我正在尝试使用 jQuery 获取产品可变价格,我得到了它,但是下面的代码只得到最小变化价格,我想得到当前价格当前的变化。然后,当我更改另一个选择值时,前端的变化以正确的价格变化,但在控制台日志中一次又一次地显示最低价格,而不是相应变化的相应价格。

jQuery( '.variations_form' ).each( function() {
    // when variation is found, do something
    jQuery(this).on( 'found_variation', function( event, variation ) {
        var product    = '<?php echo wc_get_product($variation_id) ?>',
            price      = <?php echo $product->get_price() ?>;
        console.log(price);
    });
});

我试图查看add-to-cart-variation.jswp-util.js 文件以找到某种方法,但我无法做到。

有没有办法用 jQuery 动态正确检索当前的变化价格?

任何帮助将不胜感激

【问题讨论】:

    标签: jquery wordpress woocommerce variations


    【解决方案1】:

    您的代码正在跟踪中,只需使用 variation 即可获取价格、图片等

    jQuery(document).ready(function() {
        jQuery( '.variations_form' ).each( function() {
            jQuery(this).on( 'found_variation', function( event, variation ) {
                console.log(variation);//all details here
                var price = variation.display_price;//selectedprice
                console.log(price);
            });
        });
       });
    

    【讨论】:

      【解决方案2】:

      我找到了一个解决方案,但它从 variant.php 文件输出的 .single_variation_wrap -&gt; .price -&gt; .amount 文本中检索价格。

      jQuery( '.variations_form' ).each( function() {
              jQuery(this).on( 'change', '.variations select', function() {
                  var currency    = currency = ' <?php echo get_woocommerce_currency_symbol(); ?>',
                      price       = jQuery('.woocommerce-variation-price .amount').text().replace(/ /g,''),
                      parsePrice  = parseFloat(price),
                      totalPrice  = parsePrice.toFixed(2) + currency;
      
                  if ( jQuery('.single_variation_wrap .test').length ) {
                    jQuery('.single_variation_wrap .test').html('');  
                  }
                  console.log(totalPrice);
                  jQuery('.single_variation_wrap').append('<span class="test">' + totalPrice + '</span>');
              });
          });
      

      这不是一个很好的解决方案,但它确实有效。

      还有其他专业的解决方案吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-22
        • 2019-03-27
        • 2019-02-12
        • 2017-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多