选择结束日期后禁用javascript切换(Wordpress/Woocommerce)
我正在一个涉及房间预订的网站上工作。我正在使用Woocommerce预订插件: 问题演示: 在我展示日历的特定房间上,您需要选择入住的开始和结束日期,这一切都是正常的。在日历上方显示文本:“选择开始日期”,当您单击开始日期时,它将切换为“选择结束日期” 问题 当您同时选择开始日期和结束日期时,日历上方的标签将再次显示“选择开始日期”,这可能会让客户非常困惑。我假设这个标签是由javascript触发的切换。所以我需要做的是在选择了两个日期后隐藏此消息,或者显示其他消息。我将如何做到这一点 我在plugin文件夹中找到的Javascript代码:选择结束日期后禁用javascript切换(Wordpress/Woocommerce),javascript,jquery,wordpress,plugins,woocommerce,Javascript,Jquery,Wordpress,Plugins,Woocommerce,我正在一个涉及房间预订的网站上工作。我正在使用Woocommerce预订插件: 问题演示: 在我展示日历的特定房间上,您需要选择入住的开始和结束日期,这一切都是正常的。在日历上方显示文本:“选择开始日期”,当您单击开始日期时,它将切换为“选择结束日期” 问题 当您同时选择开始日期和结束日期时,日历上方的标签将再次显示“选择开始日期”,这可能会让客户非常困惑。我假设这个标签是由javascript触发的切换。所以我需要做的是在选择了两个日期后隐藏此消息,或者显示其他消息。我将如何做到这一点 我在p
select_date_trigger: function( date ) {
var fieldset = $( this ).closest('fieldset');
var picker = fieldset.find( '.picker:eq(0)' );
var form = $( this ).closest( 'form' );
var parsed_date = date.split( '-' );
var start_or_end_date = picker.data( 'start_or_end_date' );
if ( ! picker.data( 'is_range_picker_enabled' ) || ! start_or_end_date ) {
start_or_end_date = 'start';
}
// End date selected
if ( start_or_end_date === 'end' ) {
// Set min date to default
picker.data( 'min_date', picker.data( 'o_min_date' ) );
// Set fields
fieldset.find( 'input.booking_to_date_year' ).val( parsed_date[0] );
fieldset.find( 'input.booking_to_date_month' ).val( parsed_date[1] );
fieldset.find( 'input.booking_to_date_day' ).val( parsed_date[2] ).change();
// Calc duration
if ( picker.data( 'is_range_picker_enabled' ) ) {
wc_bookings_date_picker.calc_duration( picker );
}
// Next click will be start date
picker.data( 'start_or_end_date', 'start' );
if ( picker.data( 'is_range_picker_enabled' ) ) {
form.find( '.wc_bookings_field_start_date legend span.label' ).text( 'always_visible' !== picker.data( 'display' ) ? booking_form_params.i18n_dates : booking_form_params.i18n_start_date );
}
if ( 'always_visible' !== picker.data( 'display' ) ) {
$( this ).hide();
}
// Start date selected
} else {
// Set min date to today
if ( picker.data( 'is_range_picker_enabled' ) ) {
picker.data( 'o_min_date', picker.data( 'min_date' ) )
picker.data( 'min_date', date )
}
// Set fields
fieldset.find( 'input.booking_to_date_year' ).val( '' );
fieldset.find( 'input.booking_to_date_month' ).val( '' );
fieldset.find( 'input.booking_to_date_day' ).val( '' );
fieldset.find( 'input.booking_date_year' ).val( parsed_date[0] );
fieldset.find( 'input.booking_date_month' ).val( parsed_date[1] );
fieldset.find( 'input.booking_date_day' ).val( parsed_date[2] ).change();
// Calc duration
if ( picker.data( 'is_range_picker_enabled' ) ) {
wc_bookings_date_picker.calc_duration( picker );
}
// Next click will be end date
picker.data( 'start_or_end_date', 'end' );
if ( picker.data( 'is_range_picker_enabled' ) ) {
form.find( '.wc_bookings_field_start_date legend span.label' ).text( booking_form_params.i18n_end_date );
}
if ( 'always_visible' !== picker.data( 'display' ) && ! picker.data( 'is_range_picker_enabled' ) ) {
$( this ).hide();
}
}
form.find( '.wc-bookings-booking-form' ).triggerHandler( 'date-selected', date, start_or_end_date );
如果用户错误地选择了一些错误的结束日期怎么办?他们仍然可以更改这一点,这就是为什么我找不到一个硬编码的解决方案,在点击两次后总是禁用消息。