【问题标题】:How to disable holidays with weekends and previous days after a certain time from jquery datepicker?如何在jquery datepicker特定时间后禁用周末和前几天的假期?
【发布时间】:2016-01-09 16:49:00
【问题描述】:

我想创建一个 jQuery 日期选择器,其中星期日将被禁用,前几天将被禁用,包括下午 3.30 之后的今天,以及节假日。这是我到目前为止所做的。谁能帮助我如何添加假期?

<!DOCTYPE html>
<html>
    <head>
        <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

        <script>


        var currentTime = new Date();

        if (currentTime.getHours() >=15 && currentTime.getMinutes() >=30) {
            $(document).ready(function() {
                $('#datepicker').datepicker({
                        minDate: 1,						
                    beforeShowDay: noSunday
                  });

                  function noSunday(date){
                      var day = date.getDay();
                                  return [(day > 0), ''];
                  }; 
            });
        } else {
            $(document).ready(function() {
                $('#datepicker').datepicker({
                        minDate: 0,						
                    beforeShowDay: noSunday
                  });

                  function noSunday(date){
                      var day = date.getDay();
                                  return [(day > 0), ''];
                  }; 
            });
        }
        </script>
    </head>
    <body>
        <form>
            <input id="datepicker" />
        </form>
    </body>
</html>

星期日禁用和前几天禁用我只需要帮助禁用假期

【问题讨论】:

    标签: javascript jquery date datepicker


    【解决方案1】:
    var currentTime = new Date();
    var timeCond = currentTime.getHours() >=15 && currentTime.getMinutes() >=30;
    var holidays = ["1/12/2016"]; // add holidays
    $(document).ready(function() {
        $('#datepicker').datepicker({
            minDate: timeCond?1:0,                      
            beforeShowDay: visibilityHandler
          });
          function visibilityHandler(date){
              if(holidays.indexOf(date.toLocaleDateString()) != -1)
                 return [false,'']
              return noSunday(date);
          }
    
          function noSunday(date){
              var day = date.getDay();
                          return [(day > 0), ''];
          }; 
    
      });
    

    【讨论】:

    • 嗨,萨钦感谢您提供的代码。但你能再看看,看看有没有什么遗漏。当我单击浏览器中的文本输入时,日历没有出现。但是,如果我在 ShowDay 之前划线: visibilityHandler;使用 // 的评论比它显示的要好,但是当我这样做时,星期天和假期不起作用。
    • 已更新。它是可见性处理程序后的分号,将其删除
    • 还是同样的问题:/
    • 抱歉还有一些错别字...已更新,请重试
    • 感谢它现在可以工作,但是当我选择一个禁用下一个日期的日期时需要进行更多修改,例如我想禁用 2016-01-12 它禁用 2016-01-13
    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多