http://eonasdan.github.io/bootstrap-datetimepicker/
你好
我正在尝试使用min max date选项,但由于文档未提供示例代码,因此不确定如何使用它。
我在stackoverflow上发现可以执行以下操作:
minDate:时刻()
但这引发了一个错误,即未定义力矩。
我猜它找不到页面上包含的moment.js,否则插件将无法工作。
我要达到的目的是在当日前10天停用,并显示从当日起30天。
谢谢
Here is the code (I have removed everything except whats important to simply show the code):
window[ns] = window[ns] || {};
(function ($, moment, app) {
'use strict';
// Private Methods
var nameSpace = 'global',
globalDataObject = null,
notifyRenderCallbacks = function (pageName) {
if ($('.js-calendar').length) {
$('.js-calendar').datetimepicker({
format: 'DD MMMM YYYY',
dayViewHeaderFormat: 'MMMM YYYY',
icons: {
next: 'icon icon-chevronright',
previous: 'icon icon-chevronleft'
},
enabledDates: moment().add(30, 'days')
});
}
},
// If this module requires global data
app.register(nameSpace, initialize);
}(jQuery, moment, window[ns] || {}));
最佳答案
回答我的问题。使用的框架要求您在配置文件中添加一些内容,否则将不允许使用http://momentjs.com/或任何其他JS-与建立框架的人员进行了交谈,出于安全原因,他们这样做了。
Kasun的答案是正确的,但是更好的方法是使用Moment.js,因为datetimepicker正在使用此JS。
因此,要回答第二部分,即禁用当前日期前10天并显示距离当前日期30天,则需要设置以下选项。我不需要10天前的事,但只希望有固定的天数可供选择。我添加了一些评论以使事情变得清晰,但它们不应该在那里。
$mydatepicker.datetimepicker({
minDate: moment(), // Current day
maxDate: moment().add(30, 'days'), // 30 days from the current day
viewMode: 'days',
format: 'DD MMMM YYYY',
dayViewHeaderFormat: 'MMMM YYYY',
});
上面的操作将启用minDate和maxDate之间的所有日期。
您也可以直接输入日期范围:
$mydatepicker.datetimepicker({
minDate: moment("12/01/2015"),
maxDate: moment("12/30/2015"),
viewMode: 'days',
format: 'DD MMMM YYYY',
dayViewHeaderFormat: 'MMMM YYYY',
});
这将禁用您输入moment()日期之前和之后的所有日期。
这不是问题的一部分,但我想在加载日历时在输入值中显示当天,但不会,而是显示占位符文本。我认为这是因为使用了minDate,所以我只是使用jQuery来替换输入的值。
$datepickerInput.val(moment());
关于javascript - Bootstrap 3 Datepicker-minDate和maxDate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34071003/