我想在WooCommerce的结帐页面上选择付款选项时为元素添加一个类。这是我的代码,仅用于使用控制台进行测试以获得响应:
jQuery(document).ready(function() {
jQuery("#payment_method_extra_payment_option").on( "click", function() {
console.log('1');
});
});
我定位的是具有此ID名称的单选按钮。它不起作用。
我也尝试过使用click(),这也无效。
我可以在定位付款选项之外的一段文字时使用此代码。我不明白为什么这不起作用。
答案 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
});
});