我运行 Woocommerce 网站并希望禁用结帐页面上的特定输入。
Woocommerce 可以按国家/地区设置运输方式。
我将默认国家/地区设置为韩国,并且显示韩国的运输选项。
但是,如果我选择美国,运输方式将看到根据美国的运输选项。
因此,默认情况下不显示美国的运输方式。
仅当访问者选择“美国”作为运送国家/地区时才会显示。
在这里,我想禁用仅在发货国家/地区为美国时显示的输入字段。
我可以使用 CSS 隐藏这个输入字段,甚至删除它。
然而,我想禁用它的原因是邮局由于新冠病毒暂时瘫痪。
我想告知访客,运输方式不仅是快递,还有免费送货,但暂时不可用。
我的网站结构如下。
默认(韩国)
<td data-title="shipping">
<ul id="shipping_method" class="shipping__list woocommerce-shipping-methods>
<li class="shipping_list_item">
<input id="shipping_method_0_free_shipping1">
<label class="shipping_list_label" for="shipping_method_0_free_shipping1">
</li>
</ul>
<td>
如果选择运送国家为美国
<td data-title="shipping">
<ul id="shipping_method" class="shipping__list woocommerce-shipping-methods>
<li class="shipping_list_item">
<input type="radio" id="shipping_method_0_free_shipping3"> <--- want to disable this
<label class="shipping_list_label" for="shipping_method_0_free_shipping3">
</li>
<li class="shipping_list_item">
<input type="radio" id="shipping_method_0_flat_rate2"
<label class="shipping_list_label" for="shipping_method_0_flat_rate2">
</li>
</ul>
</td>
国家/地区选择器
<span class="woocommerce-input-wrapper">
<select name="billing_country">
<option value>Select Country</option>
<option value="US">US</option>
<option value="KR" selected="selected">Korea</option>
<option value="CA">Canada</option>
</select>
我尝试了下面的 JavaScript。
<script>
const target = document.querySelector('#shipping_method > li:nth-child(1)');
target.disabled = true;
</script>
<script>
const target = document.querySelector('#shipping_method_0_free_shipping3');
target.disabled = true;
</script>
但这些代码不起作用。
我想得到一些关于我应该检查哪一部分的建议。