2017-02-21 9 views
0

magento 2.1で自動価格計算をしようとしています。スニペットやjsfiddleでコードをテストすると、正常に動作しますが、実際のマゼンタサイトで実行すると、次のクリック(または前のクリック)で "mouseup"の計算結果が表示されますが、 "keyup"は正常に機能します。この場合、誰かが答えを得ましたか?jQuery、次回クリック時の機能の結果を表示

$(document).ready(function(){ 
 
    $(".control").on("keyup mouseup",function(){ 
 
     var totale = 0; 
 
     $(".quantity-number .qty").each(function() { 
 
      var qty = parseFloat($(this).val()); 
 
      //var price = parseFloat($(".price-wrapper").attr("data-price-amount")); 
 
      //var price = parseFloat($(".price").attr("data-price-amount")); 
 
      //var price = parseFloat($(".price").text()); 
 
      
 
      var price = parseFloat($('.product-info-main span.price').text().match(/\d+/)[0], 10); 
 
      
 
      /* 
 
      var temp=$(".price").text(); 
 
      var num = temp.match(/[\d\.]+/g); 
 
      if (num != null){ 
 
       var price = num.toString(); 
 
      } 
 
      */ 
 
      totale += qty * price; 
 
      totale = qty * price; 
 
     }); 
 
     $(".cal-price").html("฿"+totale.toFixed(2)); 
 
    }); 
 
});
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 
    <div class="product-info-main"> 
 
    <span class="price-wrapper" data-price-amount="10"> 
 
    <span class="price"> 
 
    ฿10.00 
 
    </span> 
 
    <div class="control"> 
 
     <div class="quantity-number"> 
 
      <input type="number" name="qty" id="qty" maxlength="12" value="1" title="Quantity" class="input-text qty"> 
 
    </div> 
 
    <span class="cal-price"></span> 
 
    </div>
https://jsfiddle.net/l2esforu/x6332ay3/

答えて

0

私の問題があります解決済み!ありがとう

すべての状態を使用してみると、メインディビジョンで発生する可能性があります。

$(document).on("input keyup change click mouseup",".control",function(){ 
    $(".quantity-number .qty").each(function() { 
     //do stuff 
    }); 
} 
0

あなたは値が入力要素に変更されたとき、入力要素自体の「入力」イベントのイベントリスナーを追加し、機能を呼び出すために欠けている場合。

$("#qty").on("input", function() { ... });

あなたは、いくつかの数量入力を持ち、それらが動的に追加されている場合は、あなたがそのようにデリゲートセレクタを使用したいと思うでしょうが:

$(".control").on("input", ".qty", function() { 
    // do stuff 
}); 

Event Delegation Docs

+0

さて、私はこのようなコード更新:https://jsfiddle.net/l2esforu/x6332ay3/3/を それは昔のように仕事の罰金だが、Magentoのサイト上の任意の結果を示していません。 をご覧ください:http://prntscr.com/ec1acp –

関連する問題