【问题标题】:Disable all Sundays except one in jQuery UI Datepicker禁用除 jQuery UI Datepicker 中的一个以外的所有星期日
【发布时间】:2012-02-24 14:15:58
【问题描述】:

我正在尝试为我客户的网站设置 jQuery UI 日期选择器,它需要隐藏某些日子,以及除了母亲星期日之外的所有星期日。目前,我的代码大量借鉴了另一个答案的运行方式:

        function nonWorkingDates(date){
            var day = date.getDay(), Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6;
            var closedDates = [[02,24,2012],[03,14,2012],[03,15,2012],[03,20,2012],[03,21,2012],[03,23,2012],[03,26,2012],[03,27,2012]];
            var closedDays = [[Sunday]];  
            var mothersDay = [[04,18,2012]];  
            for (var i = 0; i < closedDays.length; i++) {
                if (day == closedDays[i][0]) {
                    return [false];
                }
            }
            for (i = 0; i < closedDates.length; i++) {
                if (date.getMonth() == closedDates[i][0] - 1 && date.getDate() == closedDates[i][1] && date.getFullYear() == closedDates[i][2]) {
                    return [false];
                }
            }
            return [true];
        }       
        <%-- Load jQuery UI Calendar --%>
        $(function() {
            jQuery("#calendar1").datepicker({
            beforeShowDay: nonWorkingDates,
            dateFormat: 'dd/mm/yy'
            });         
        });

有什么简单的方法吗?

【问题讨论】:

    标签: jquery jquery-ui datepicker jquery-ui-datepicker


    【解决方案1】:

    您可以在其他逻辑之前为“特殊”日期添加另一个条件:

    function nonWorkingDates(date) {
        var day = date.getDay(),
            Sunday = 0,
            Monday = 1,
            Tuesday = 2,
            Wednesday = 3,
            Thursday = 4,
            Friday = 5,
            Saturday = 6;
        var closedDates = [
            [02, 24, 2012],
            [03, 14, 2012],
            [03, 15, 2012],
            [03, 20, 2012],
            [03, 21, 2012],
            [03, 23, 2012],
            [03, 26, 2012],
            [03, 27, 2012]];
    
        var closedDays = [[Sunday]];
        var mothersDay = [03, 18, 2012];  
    
        /* Mother's day check: */
        if (date.getMonth() === mothersDay[0] - 1 &&
            date.getDate() === mothersDay[1] &&
            date.getFullYear() === mothersDay[2]) {
    
                return [true];
        }                                 
    
        for (var i = 0; i < closedDays.length; i++) {
            if (day == closedDays[i][0]) {
                return [false];
            }
        }
        for (i = 0; i < closedDates.length; i++) {
            if (date.getMonth() == closedDates[i][0] - 1 &&
                date.getDate() == closedDates[i][1] &&
                date.getFullYear() == closedDates[i][2]) {
    
                return [false];
            }
        }
        return [true];
    }
    

    示例: http://jsfiddle.net/6wwSn/

    【讨论】:

      猜你喜欢
      • 2011-04-12
      • 2020-10-08
      • 2011-05-21
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多