WooCommerce添加到结帐时选择的支付网关

时间:2015-11-29 22:42:49

标签: jquery wordpress woocommerce

我想在WooCommerce的结帐页面上选择付款选项时为元素添加一个类。这是我的代码,仅用于使用控制台进行测试以获得响应:

jQuery(document).ready(function() {
    jQuery("#payment_method_extra_payment_option").on( "click", function() {
        console.log('1');
    });
});

我定位的是具有此ID名称的单选按钮。它不起作用。

我也尝试过使用click(),这也无效。

我可以在定位付款选项之外的一段文字时使用此代码。我不明白为什么这不起作用。

3 个答案:

答案 0 :(得分:0)

付款选项可能会在document.ready之后添加到dom中。因此,不会将click事件侦听器添加到该元素。您应该在事件委派方法中使用.on函数:

$( "#the_parent_of_the_payment_method_extra_payment_option" ).on( "click", "#the_payment_method_extra_payment_option", function() {
    console.log('1');
});

(此代码示例中的id是说明性的)

有关详细信息,请参阅本章:http://api.jquery.com/on/#direct-and-delegated-events

答案 1 :(得分:0)

我设法通过使用:

来解决这个问题
jQuery(document).ajaxComplete(function () {...

而不是

jQuery(document).ready(function() { ...

我现在可以添加类,并根据所选的支付网关修改字段验证。

答案 2 :(得分:0)

遇到了同样的问题。 这适用于我的。

jQuery(document).ready(function(){
    jQuery(document).on('click', "#payment_method_extra_payment_option", function(){
        // do your code here
    });
});