亲爱的
我正在使用snippet插件将代码添加到我的ecommerace项目中,我的交付选项中有取货和交付插件,我想做的是,一旦选择了取货选项,客户地址信息字段将为隐藏要保留它的出现是不合逻辑的,如果选择了从餐厅提货则必须保留。
代码段返回错误语法错误,意外的'(',预期变量(T_VARIABLE)或'{'或'$' 它与用<?php>替换有关,但那也不起作用,很抱歉使我对编程感到困惑,并期待得到您的支持 我的项目结帐页面。 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();
}
});
});
谢谢。
答案 0 :(得分:2)
您的代码中有一些错误。使用以下内容根据单选按钮的选择显示/隐藏自定义结帐字段:
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文件中。经过测试,可以正常工作。