如何解决根据选中的单选按钮显示或隐藏WooCommerce结帐字段
亲爱的
我正在使用snippet插件将代码添加到我的ecommerace项目中,我的交付选项中有取货和交付插件,我想做的是,一旦选择了取货选项,客户地址信息字段将为隐藏要保留它的出现是不合逻辑的,如果选择了从餐厅提货则必须保留。
代码段返回错误语法错误,意外的'(',预期变量(T_VARIABLE)或'{'或'$' 它与用替换有关,但那也不起作用,很抱歉使我对编程感到困惑,并期待得到您的支持 我的项目结帐页面。 https://www.order.ramadaencorekuwait.com/checkout-2/
$(document).ready(function() {
$('input').change(function() {
if ($('input[value="pickup"]').is(':checked') && $('input[value="delivery"]').is(':unchecked')) {
$('input[value="billing_address_4"]').hide();
}
else {
$('input[value="billing_address_4"]').show();
}
});
});
谢谢。
解决方法
您的代码中有一些错误。使用以下内容根据单选按钮的选择显示/隐藏自定义结帐字段:
add_action('wp_footer','custom_checkout_js_script');
function custom_checkout_js_script() {
if( is_checkout() && ! is_wc_endpoint_url() ) :
?>
<script language="javascript">
jQuery( function($){
var a = 'input[name="pi_delivery_type"]:checked',b = 'input[name="billing_address_4"]';
// Custom function that show hide specific field,based on radio input value
function showHideField( value,field ){
if ( value === 'pickup' ) {
$(field).parent().parent().hide();
} else {
$(field).parent().parent().show();
}
}
// On start after DOM is loaded
showHideField( $(a).val(),b );
// On radio button change live event
$('form.woocommerce-checkout').on('change',a,function() {
showHideField( $(this).val(),b );
});
});
</script>
<?php
endif;
}
代码进入活动子主题(或活动主题)的functions.php文件中。经过测试,可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。