Я пытаюсь отключить определенные даты и включить только определенные дни недели в датчике jQuery UI.
Это внутри темы Wordpress / Woocommerce, и я пытаюсь решить некоторые ошибки, но яЯ часами пытаюсь найти решение и даже пробовал каждое решение, найденное мной на StackOverflow и других веб-сайтах, но, похоже, ничего не работает.
Моя цель - дать возможность выбирать только выбранные дни неделидоступно, но когда дата выбрана и куплена, мне тоже нужно ее отключить.Я успешно отключил те дни недели, которые мне нужно отключить, но я не могу даже создать жестко запрограммированный прототип о купленных датах, которые следует отключить.
Код (с некоторыми жестко закодированными образцами):
$(document).ready(function(){
var available_days = ["3"]; //it comes from the database
var today = new Date();
var tour_start_date = new Date( 1525132800000 ); //it comes from the database
var tour_end_date = new Date( 1546214400000 ); //it comes from the database
var available_first_date = tour_end_date;
var lang = 'en_UK';
lang = lang.replace( '_', '-' );
today.setHours(0, 0, 0, 0);
tour_start_date.setHours(0, 0, 0, 0);
tour_end_date.setHours(0, 0, 0, 0);
if ( today > tour_start_date ) {
tour_start_date = today;
}
function DisableDays(date) {
var day = date.getDay();
if ( available_days.length == 0 ) {
if ( available_first_date >= date && date >= tour_start_date) {
available_first_date = date;
}
return true;
}
if ( $.inArray( day.toString(), available_days ) >= 0 ) {
if ( available_first_date >= date && date >= tour_start_date) {
available_first_date = date;
}
return true;
} else {
return false;
}
}
if ( $('input.date-pick').length ) {
if ( lang.substring( 0, 2 ) != 'fa' ) {
$('input.date-pick').datepicker({
startDate: tour_start_date,
endDate: tour_end_date,
beforeShowDay: DisableDays,
language: lang
});
$('input[name="date"]').datepicker( 'setDate', available_first_date );
} else {
var date_format = $('input.date-pick').data('date-format');
$('input.date-pick').persianDatepicker({
observer: true,
format: date_format.toUpperCase(),
});
}
}
});