【发布时间】:2021-04-07 08:01:07
【问题描述】:
我已将选择自定义字段添加到 woocommerce 结帐页面:
// Add custom checkout datepicker field
add_action( 'woocommerce_before_order_notes', 'checkout_display_datepicker_custom_field' );
function checkout_display_datepicker_custom_field( $checkout ) {
echo '<div id="datepicker-wrapper" style="width:50%;">';
$field_id = 'my_datepicker';
$today = strtotime('today');
$tomorrow = strtotime('tomorrow');
woocommerce_form_field( $field_id, array(
'type' => 'select',
'class' => array('form-row-wide'),
'label' => __('Delivery Date'),
'placeholder' => __('Select Delivery Date'),
'required' => true, // Or false
'onchange' => 'ValidateDropDwon(this)',
'options' => array(
'' => '',
date(('d F Y'), $today ) => date(('d F Y'), $today ),
date(('d F Y'), $tomorrow ) => date(('d F Y'), $tomorrow ),
)));
echo '<br></div>';
}
并使用此 jQuery 检查是否选择了一项选择字段,然后启用“下订单”按钮:
jQuery(document).ready( function(){
function ValidateDropDwon(dd){
var input = document.getElementById('place_order')
if(dd.value == '') input.disabled = true; else input.disabled = false;
}
});
但它不起作用,“下订单”按钮始终处于活动状态!我真的不知道为什么它不起作用!?
【问题讨论】:
-
你从控制台调试过吗?在函数ValidateDropDwon中添加console.log('ValidateDropDwon'),然后重新加载你的页面,你的函数已经被调用了吗?
-
@LexaVey 我尝试了 console.log('ValidateDropDwon') 但控制台中没有出现任何特殊情况,我该如何调用该函数?
-
然后检查你的 checkout_display_datepicker_custom_field 函数的 php 输出,你能把输出发给我吗?粘贴到 pastebin.com 等
-
@LexaVey 请检查以下网址:1) pastebin.com/gwSbdHx0 2) pastebin.com/aB5nJK5A
-
我找到了解决你的问题的方法,在回答你的问题之前,我想确保你的问题已经解决,请在jsfiddle.net/lexavey/t9oj43g6/26查看我的sn-p
标签: php html jquery wordpress woocommerce