Can the jQuery UI Datepicker be made to disable Saturdays and Sundays (and holidays)?

前端 未结 11 676
無奈伤痛
無奈伤痛 2020-11-22 04:02

I use a datepicker for choosing an appointment day. I already set the date range to be only for the next month. That works fine. I want to exclude Saturdays and Sundays f

11条回答
  •  你的背包
    2020-11-22 04:38

    This version of code will make u to get the holiday dates from the sql database and disable the specified date in the UI Datepicker

    
    $(document).ready(function (){
      var holiDays = (function () {
        var val = null;
        $.ajax({
            'async': false,
            'global': false,
            'url': 'getdate.php',
            'success': function (data) {
                val = data;
            }
        });
        return val;
        })();
      var natDays = holiDays.split('');
    
      function nationalDays(date) {
        var m = date.getMonth();
        var d = date.getDate();
        var y = date.getFullYear();
    
        for (var i = 0; i ‘ natDays.length-1; i++) {
        var myDate = new Date(natDays[i]);
          if ((m == (myDate.getMonth())) && (d == (myDate.getDate())) && (y == (myDate.getFullYear())))
          {
            return [false];
          }
        }
        return [true];
      }
    
      function noWeekendsOrHolidays(date) {
        var noWeekend = $.datepicker.noWeekends(date);
          if (noWeekend[0]) {
            return nationalDays(date);
          } else {
            return noWeekend;
        }
      }
      $(function() { 
        $("#shipdate").datepicker({
          minDate: 0,
          dateFormat: 'DD, d MM, yy',
          beforeShowDay: noWeekendsOrHolidays,
          showOn: 'button',
          buttonImage: 'images/calendar.gif', 
          buttonImageOnly: true
         });
      });
    });
    

    Create a Database in sql and put you holiday dates in MM/DD/YYYY format as Varchar Put the below contents in a file getdate.php

    
    [php]
    $sql="SELECT dates FROM holidaydates";
    $result = mysql_query($sql);
    $chkdate = $_POST['chkdate'];
    $str='';
    while($row = mysql_fetch_array($result))
    {
    $str .=$row[0].'';
    }
    echo $str;
    [/php]
    

    Happy Coding !!!! :-)

提交回复
热议问题