jQuery UI Datepicker - allow only certain weekdays

后端 未结 5 536
我在风中等你
我在风中等你 2020-12-17 21:56

I\'m using jquery UI datepicker on a huge project and I realize now that I\'ll need to allow only certain weekdays on some areas. I read their documentation and didn\'t find

相关标签:
5条回答
  • 2020-12-17 22:16

    Jean Mallet's answer (beforeShowDay: $.datepicker.noWeekends) is simple and elegant.

    However, if you're already calling a function using beforeShowDay (as I was in my case), here's how you can disable certain days of the week (in this case, Sunday and Saturday), chained along with the rest of your function:

    beforeShowDay: function (date) {
    
        /* your other function code here */
    
        if (date.getDay() > 0 && date.getDay() < 6) {
            return [true, ''];
        } else {
            return [false, ''];
        }
    }
    

    0 讨论(0)
  • 2020-12-17 22:17

    From the docs:

    beforeShowDay: The function takes a date as a parameter and must return an array with [0] equal to true/false indicating whether or not this date is selectable, [1] equal to a CSS class name(s) or '' for the default presentation, and [2] an optional popup tooltip for this date. It is called for each day in the datepicker before it is displayed.

    For an example, please see here:

    http://codeasp.net/blogs/raghav_khunger/microsoft-net/1088/jquery-datepicker-disable-specific-weekdays

    0 讨论(0)
  • 2020-12-17 22:20
    $( ".datepicker.future" ).datepicker('option','beforeShowDay',function(date){
        var td = date.getDay();
        var ret = [(date.getDay() != 0 && date.getDay() != 6),'',(td != 'Sat' && td != 'Sun')?'':'only on workday'];
        return ret;
    });
    
    0 讨论(0)
  • 2020-12-17 22:38
    $('selector').datepicker({
    beforeShowDay: $.datepicker.noWeekends // disable weekends
    });
    
    0 讨论(0)
  • 2020-12-17 22:40

    @Jan Thomas forgot to add the variable td. The correct code is:

    $( ".datepicker.future" ).datepicker('option','beforeShowDay',function(date){
        var td = date.getDay();
        var ret = [(date.getDay() != 0 && date.getDay() != 6),'',(td != 'Sat' && td != 'Sun')?'':'only on workday'];
        return ret;
    });
    
    0 讨论(0)
提交回复
热议问题