Datepicker Disable Day From Array Question

Datepicker Disable Day From Array Question

Hi there,

  I am trying to disable certain days based on a user's selection in another form. I understand you need to use beforeShowDay and for example date.getDay() !== [0]

But how do I achieve this when more than one day can be selected from checkboxes? I have passed the values to an array, but seem to be having trouble disaplying this array in the beforeShowDay function:

HTML
  1. <form>
  2.                         <div class="field">
  3.                             <input class="input" id="disableDate" value="Date to disable">
  4.                         </div>

  5.                         <div id="disableDays">
  6.                             <label class="label">Select Which Days to Exclude</label>

  7.                             <div class="field">
  8.                                 <input type="checkbox" id="Sunday" class="is-checkradio" name="Sunday" data-value="0">
  9.                                 <label for="Sunday" class="label">Sunday</label>
  10.                             </div>
  11.                             <div class="field">
  12.                                 <input type="checkbox" id="Monday" class="is-checkradio" name="Monday" data-value="1">
  13.                                 <label for="Monday" class="label">Monday</label>
  14.                             </div>
  15.                             <div class="field">
  16.                                 <input type="checkbox" id="Tuesday" class="is-checkradio" name="Tuesdayy" data-value="2">
  17.                                 <label for="Tuesday" class="label">Tuesday</label>
  18.                             </div>
  19.                             <div class="field">
  20.                                 <input type="checkbox" id="Wedndesday" class="is-checkradio" name="Wedndesday" data-value="3">
  21.                                 <label for="Wedndesday" class="label">Wedndesday</label>
  22.                             </div>
  23.                             <div class="field">
  24.                                 <input type="checkbox" id="Thursday" class="is-checkradio" name="Thursday" data-value="4">
  25.                                 <label for="Thursday" class="label">Thursday</label>
  26.                             </div>
  27.                             <div class="field">
  28.                                 <input type="checkbox" id="Friday" class="is-checkradio" name="Friday" data-value="5">
  29.                                 <label for="Friday" class="label">Friday</label>
  30.                             </div>
  31.                             <div class="field">
  32.                                 <input type="checkbox" id="Saturday" class="is-checkradio" name="Saturday" data-value="6">
  33.                                 <label for="Saturday" class="label">Saturday</label>
  34.                             </div>
  35.                             <div class="field">
  36.                                 <input type="submit" class="button is-medium is-primary" value="Save">
  37.                             </div>
  38.                         </div>
  39.                     </form>

  40. <div id="customerCalendar"></div>


  41. jQuery(function($) {
  42. let disabledDays = [];

  43. $("form").submit(function(e) {

  44.                 dayValue = $('#disableDays input:checked').map(function() {
  45.                     return $(this).data('value')
  46.                 }).get();

  47.                 disabledDays.push(dayValue)
  48.                 return false
  49.             });

  50. $("#customerCalendar").datetimepicker({
  51.                     beforeShowDay: function(date) {
  52.                                         let getDay
  53.                     for (d = 0; d < disabledDays; d++) {
  54.                         getDay = date.getDay() !== [disabledDays]
  55.                         return getDay
  56.                     }
  57.                     return [getDay]
  58.                 },
  59.                 timeFormat: 'HH',
  60.                 minDate: +1
  61.             });
  62. });