WooCommerce global.js在更新购物车后无法运作

时间:2016-10-07 07:08:38

标签: javascript php jquery wordpress woocommerce

我在 global.js 中编写个人javascript,直到点击WooCommerce按钮 update_cart 为止。

我的功能无效后。

该功能用于更新通知显示:

    $('#nb_article').change(function() {
        if ($('#nb_article').text() = 0) {
            $('#nb_article').css("display", "none");
        } else {
            $('#nb_article').css("display", "block");
        }
    });

它在balise jQuery(document).ready(function($) {}

你知道我能做什么吗?

2 个答案:

答案 0 :(得分:2)

var menu = ["fish": 10.99, "chips": 5.99, "kebab": 6.99] var totalCost = menu["fish"]! + menu["chips"]! + menu["kebab"]! print("The total cost of the three items is \(totalCost)") 上触发更新购物车操作,查找var menu = ["fish": 10.99, "chips": 5.99, "kebab": 6.99] var totalCost = menu["fish"]! + menu["chips"]! var thisCost = totalCost + menu["kebab"]! print("The total cost of the three items is \(thisCost)"

它对表单的url进行ajax调用,然后使用ajax调用返回的html更新.woocommerce div。因此,它不起作用可能是因为$('#nb_article')在.woocommerce中,插件将替换所有html,丢失事件。您应该在更新后重新应用事件处理程序。

或者替代方案,您可以通过委派方式应用事件:

woocommerce/assets/js/frontend/cart.js

答案 1 :(得分:0)

有两个问题:

  1. 在事件内部函数中,您必须使用$(this),以便引用触发事件的元素

  2. if语句中的
  3. 您必须使用比较运算符==而不是=

  4. 所以最终的结果应该是:

    $('#nb_article').change(function() {
        var $nb_article = $(this);
    
        if ( $nb_article.text() == 0) {
            $nb_article.css("display", "none");
        } else {
            $nb_article.css("display", "block");
        }
    });
    

    他们肯定是问题,但我不知道是否还有其他与项目其他代码相关的内容。

    我希望它有所帮助