$(function() { $.datepicker.setDefaults($.datepicker.regional["ja"]); //土日を選択した場合は時間帯選択の「18時以降(平日のみ)」を非表示にする function doSomething() { if($(this).hasClass('day1')){ $('select[name="date-hope1-time"]').prop("selectedIndex", 0); var date1 = $('.day1').datepicker('getDate'); var day1 = date1.getDay(); if (day1 == 0) { $('[data-name="date-hope1-time"] select option:last-child').prop('disabled', true); $('[data-name="date-hope1-time"] select option:nth-last-child(2)').prop('disabled', true); } else{ $('[data-name="date-hope1-time"] select option:last-child').prop('disabled', false); } } } var numberOfMonths; if (window.matchMedia && window.matchMedia('(max-device-width: 640px)').matches) { // smartphone numberOfMonths = 1; } else { // pc numberOfMonths = 2; } $(".date_hope").datepicker( { numberOfMonths: numberOfMonths, autoSize: true,//テキストボックスの幅を自動設定 firstDay: 0, // 日曜始まり dateFormat: 'yy/mm/dd', minDate: '2024/05/05',//上記で判定した翌日・翌々日の日付を指定 // minDate: new Date(2022, 02 - 1, 01), maxDate: '+3m', onSelect: doSomething, beforeShowDay : function(date) {//以下、休業日設定をする日付を記載 var dateFormat = 'yy/mm/dd'; var disableDates = [ "2022/02/11","2022/02/23","2022/03/21" ]; var disableDate = $.datepicker.formatDate(dateFormat, date); // if (date.getDay() == 0 || date.getDay() == 4) { // // 日曜日 // return [false, 'ui-state-disabled']; // } else { // // 日曜日以外 // return [( disableDates.indexOf(disableDate) == -1 ), "", "診療日"]; // } return [( disableDates.indexOf(disableDate) == -1 ), "", "営業日"]; } }); $('.date_hope').attr('readonly',true);//スマホでキーボードを表示しない });