javascript - Woocommerce:未触发交付方法更改事件处理程序
问题描述
我的 HTML 代码(单选按钮的交付方法列表)是:
<ul id="shipping_method" class="woocommerce-shipping-methods">
<li>
<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_local_pickup8" value="local_pickup:8" class="shipping_method" checked="checked"><label for="shipping_method_0_local_pickup8">Local pickup</label>
</li>
<li>
<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_edostavka-package-door-stock7138" value="edostavka-package-door-stock:7:138" class="shipping_method"><label for="shipping_method_0_edostavka-package-door-stock7138">Postamat: <span class="woocommerce-Price-amount amount">265 <span class="woocommerce-Price-currencySymbol">₽</span></span></label>
</li>
<li>
<input type="radio" name="shipping_method[0]" data-index="0" id="shipping_method_0_flat_rate1" value="flat_rate:1" class="shipping_method"><label for="shipping_method_0_flat_rate1">Courier delivery <span class="woocommerce-Price-amount amount">350 <span class="woocommerce-Price-currencySymbol">₽</span></span></label>
</li>
</ul>
它不能改变(Woocommerce HTML 生成)。至少我不想改变它。
我的任务是在选择更改事件上添加 Javascript 处理程序:
jQuery(document).ready(function($){
let methods = jQuery('.shipping_method’);
methods.each(function(index) {
$(this).bind('change', function() {
alert('Change event fired for ' + this.val());
});
});
});
当交付方法(类 == 'shipping_method' 的单选按钮)更改时,不会触发处理程序。
整个收音机列表的更改处理程序也不起作用:
methods.bind('change', function() {
alert(this.val());
});
怎么了?
解决方案
推荐阅读
- android - 应用程序中的某些请求未被查尔斯代理解密
- javascript - 您如何在外部 Javascript 中引用 html 元素?
- laravel-5.8 - 像json一样保存时如何返回等级表的名称?
- python - 如何使用 Numpy 在 Python 中创建 3D 数组?
- android - 使 recyclerview 项目占用屏幕宽度并将其定位在点击
- python - 使用mysql连接器python将值插入数据库,网络抓取
- c# - C# - 我可以在运行时设置泛型参数的类型来整理以下代码吗?
- html - 当我在锚元素中使用 #elemend_id 作为 href 时,有没有办法将注意力集中在目标元素上?
- javascript - 尝试执行单独的 PHP 查询时 AJAX 返回当前页面
- docker - Docker Hub 私有存储库:无法在私有存储库中推送 Solr Core 文件