【问题标题】:Bootstrap Datetimepicker Pop Up Shows Disabled DatesBootstrap Datetimepicker 弹出窗口显示禁用日期
【发布时间】:2019-02-07 06:34:17
【问题描述】:

以下是我的代码

$('#dob').datetimepicker({
  format: 'DD-MM-YYYY',
  maxDate: new Date("2009", "01", "01"),
  useCurrent: false
});

但是当我测试我的界面时,它会弹出已经禁用的日期(当前月份)。这不是用户友好的。如何修复它以打开我允许的最大月份? (2009 年 1 月)请查看以下图片以供参考。

我用谷歌搜索但没有找到答案。

【问题讨论】:

标签: twitter-bootstrap calendar bootstrap-datetimepicker eonasdan-datetimepicker disable


【解决方案1】:

您可以使用viewDate 选项:

这将更改viewDate,而不更改或设置所选日期。

这是一个现场样本:

$('#dob').datetimepicker({
  format: 'DD-MM-YYYY',
  maxDate: new Date(2009, 0, 1),
  useCurrent: false,
  viewDate: new Date(2009, 0, 1)
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.css" rel="stylesheet"/>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>

<div class="container">
  <div class="row">
    <div class="col-sm-12">
      <input type="text" class="form-control" id="dob" />
    </div>
  </div>
</div>

【讨论】:

    【解决方案2】:

    据我了解,您希望 2009 年 1 月之后的日期不显示。

         $('#datetimepicker').datetimepicker({
                     format: 'DD-MM-YYYY',  
                     maxDate:new Date("2008", "12", "1"),
                     });
    

    我在小提琴上试过这个,它似乎工作,从 new Date("2008", "12", "1") 开始,因为当给定 new Date("2009", "01", "01") 它从 2009 年 2 月开始,而不是从 1 月开始

    https://jsfiddle.net/HarveyQ/0xq8n62u/26/

    我研究了document for datetimepicker,但找不到隐藏禁用日期的选项。

    【讨论】:

    • 我收到此错误:为什么? TypeError: option startDate is not recognized! bootstrap-datetimepicker.min.js:8:22416
    • 对不起,我似乎查看了另一个日期选择器,而 startDate 是那个方法。我会编辑答案。
    • 我将 2009 年 1 月设置为最小月份,如果您希望它成为最大月份,只需将 minDate 替换为 maxDate
    • 好吧,我不想要默认日期,也不想让用户选择任何高于 2008/01/01 的日期。所以这就是我希望他们禁用的原因。这是用 maxDate 完成的,但它会在初始弹出窗口中显示禁用日期。这就是问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多