teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

コードにformタグ追加しました

2021/01/24 14:41

投稿

Yariii
Yariii

スコア61

title CHANGED
File without changes
body CHANGED
@@ -9,6 +9,17 @@
9
9
  カート更新ボタンはデフォルトで用意されていましたが、
10
10
  ```php
11
11
  ///数量変更UI
12
+
13
+ <form class="woocommerce-cart-form" action="<?php echo esc_url( wc_get_cart_url() ); ?>" method="post">
14
+ <?php do_action( 'woocommerce_before_cart_table' ); ?>
15
+
16
+ <table class="shop_table shop_table_responsive cart woocommerce-cart-form__contents" cellspacing="0">
17
+ <tbody>
18
+ <?php do_action( 'woocommerce_before_cart_contents' ); ?>
19
+
20
+ <!-- ~~~~~~~~~~~~~~略~~~~~~~~~~~~~~ -->
21
+
22
+ <!-- 商品の数量変更UI -->
12
23
  <td class="product-quantity" data-title="<?php esc_attr_e( 'Quantity', 'woocommerce' ); ?>">
13
24
  <div class="shop__num">
14
25
  <!-- マイナスボタン -->
@@ -37,9 +48,9 @@
37
48
  </div>
38
49
  </td>
39
50
 
40
- ~~~~~~~~~~~~~~略~~~~~~~~~~~~~~
51
+ <!-- ~~~~~~~~~~~~~~略~~~~~~~~~~~~~~ -->
41
52
 
42
- ///カートの中身変更ボタン
53
+ <!-- カートの中身変更ボタン -->
43
54
  <tr>
44
55
  <td colspan="6" class="actions">
45
56
 
@@ -58,6 +69,14 @@
58
69
  </td>
59
70
  </tr>
60
71
 
72
+ <!-- ~~~~~~~~~~~~~~略~~~~~~~~~~~~~~ -->
73
+
74
+ <?php do_action( 'woocommerce_after_cart_contents' ); ?>
75
+ </tbody>
76
+ </table>
77
+ <?php do_action( 'woocommerce_after_cart_table' ); ?>
78
+ </form>
79
+
61
80
  ```
62
81
 
63
82
  以下jsです。

2

タグ追加

2021/01/24 14:41

投稿

Yariii
Yariii

スコア61

title CHANGED
File without changes
body CHANGED
File without changes

1

タグ追加と補足

2021/01/23 10:31

投稿

Yariii
Yariii

スコア61

title CHANGED
@@ -1,1 +1,1 @@
1
- jsでajaxCompleteが2回実行され
1
+ jsでajaxCompleteが2回実行されてしまう
body CHANGED
@@ -1,6 +1,6 @@
1
1
  WPのwooccomerceを使っています。
2
2
  背景として、カートページの商品数量を変更するのに、プラス、マイナスボタンのUIを作り、
3
- それを押す度にカート内がajax更新され、数量が反映されます。
3
+ それを押す度にカート内がajax更新され、数量が反映されます。しかし僕自身ajaxの知見はほぼなく、woocommerceの仕様で実行されているに過ぎません。
4
4
 
5
5
  1回目のクリックイベントは問題ないのですが、ajax更新後にそのUIのclickイベントが機能しなくなったので、
6
6
  「ajaxComplete」を使ったクリックイベントを追記して対処したのですが、なぜかajaxCompleteの中身が2回実行されてしまいます。