2017-03-23 6 views
1

私はこの(global/quantity-input.php)ファイルを自分のテーマディレクトリにコピーしてコピーします。そして、私のjsファイルにこの

`woocommerce ajaxの更新でプラスとマイナスのボタンが機能しない

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 
?> 
<div class="quantity"> 
    <input class="minus" type="button" value="-"> 
    <input type="number" step="<?php echo esc_attr($step); ?>" min="<?php echo esc_attr($min_value); ?>" max="<?php echo esc_attr($max_value); ?>" name="<?php echo esc_attr($input_name); ?>" value="<?php echo esc_attr($input_value); ?>" title="<?php echo esc_attr_x('Qty', 'Product quantity input tooltip', 'woocommerce') ?>" class="input-text qty text" size="4" /> 
    <input class="plus" type="button" value="+"> 
</div> 

を変更するにも、このjqueryのコードを作りました。

<script type="text/javascript"> 
    jQuery(document).ready(function($){ 
     $('.quantity').on('click', '.plus', function(e) { 
      $input = $(this).prev('input.qty'); 
      var val = parseInt($input.val()); 
      $input.val(val+1).change(); 
     }); 

     $('.quantity').on('click', '.minus', 
      function(e) { 
      $input = $(this).next('input.qty'); 
      var val = parseInt($input.val()); 
      if (val > 0) { 
       $input.val(val-1).change(); 
      } 
     }); 
    }); 
    </script> 

正常に動作しますが、カートページの製品を更新しても問題はありません。何か解決策はありますか?私が何か間違っていたら私を修正してください?
ありがとう

答えて

1

あなたは最初の部分が正しいです。あなたのコードは、ページを読み込むときに機能します。しかしこれに加えて、AJAX呼び出しのイベントを追加する必要があります。

また、.off()を追加したので、値はすべてAJAX呼び出しの後に複数回追加されます。

<script type="text/javascript"> 

jQuery(document).ajaxComplete(function(){ 
    jQuery('.quantity').off('click', '.plus').on('click', '.plus', function(e) {   
     $input = jQuery(this).prev('input.qty'); 
     var val = parseInt($input.val()); 
     $input.val(val+1).change(); 
    }); 



     jQuery('.quantity').off('click', '.minus').on('click', '.minus', 
     function(e) {  
     $input = jQuery(this).next('input.qty'); 
     var val = parseInt($input.val()); 
     if (val > 1) { 
      $input.val(val-1).change(); 
     } 
    }); 
}); 

</script> 
+0

これは問題なく機能します。あなたの素晴らしいソリューションのために多くのおかげで:) – Roman

関連する問題