Javascript Bootstrap 3日期选择器-minDate和maxDate

Javascript Bootstrap 3日期选择器-minDate和maxDate,javascript,Javascript,嗨 我试图使用min-max date选项,但不确定如何使用,因为文档中没有提供示例代码 我在stackoverflow上发现您可以执行以下操作: minDate:moment() 但这带来了一个错误,那就是时刻并没有定义 我猜它找不到页面上包含的moment.js,否则插件将无法工作 我试图实现的是禁用当前日期前10天,并显示当前日期后30天 谢谢 以下是代码(我已经删除了所有内容,除了简单显示代码的重要内容): window[ns]=window[ns]|{}; (功能(美元、力矩、应用程

我试图使用min-max date选项,但不确定如何使用,因为文档中没有提供示例代码

我在stackoverflow上发现您可以执行以下操作:

minDate:moment()

但这带来了一个错误,那就是时刻并没有定义

我猜它找不到页面上包含的moment.js,否则插件将无法工作

我试图实现的是禁用当前日期前10天,并显示当前日期后30天

谢谢

以下是代码(我已经删除了所有内容,除了简单显示代码的重要内容):
window[ns]=window[ns]|{};
(功能(美元、力矩、应用程序){
"严格使用",;
//私有方法
变量名称空间='全局',
globalDataObject=null,
notifyRenderCallbacks=函数(pageName){
如果($('.js calendar')。长度){
$('.js calendar').datetimepicker({
格式:“DD-MMMM-YYYY”,
DayViewHeadPerformat:'MMMM YYYY',
图标:{
下一步:'图标雪佛兰右',
上一个:“图标雪佛兰左”
},
enabledDates:moment().add(30天)
});
}
},
//如果此模块需要全局数据
app.register(名称空间,初始化);

}(jQuery,力矩,窗口[ns]|{})只需使用JavaScript日期对象给出以下方法:

minDate: (new Date()).getDate()

回答我的问题。所使用的框架要求您向配置文件中添加moment,否则它将不允许使用或任何其他JS-Speak,因为安全原因,他们这样做了

Kasun的答案是正确的,但更好的方法是使用矩.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',
});
这将禁用您在矩()中输入的日期之前和之后的所有日期

这不是问题的一部分,但我想在加载日历时在输入值中显示当前日期,但它不会,而是显示占位符文本。我认为这是因为使用了if-minDate,所以我只是使用jQuery来替换输入的值

$datepickerInput.val(moment());
通过使用这个例子,您可以给用户一个选项,在今天和接下来的30天之间选择日期,而无需使用momentjs。您可以根据需要提供minDate和maxDate的价值。例如,如果要在过去30天到未来30天之间提供选项,请设置

minDate: new Date(new Date().setDate(todayDate - 30))
maxDate: new Date(new Date().setDate(todayDate + 30))

用于禁用

$(“#editreservation_to”).datetimepicker({minDate:-1,maxDate:-2}).attr('readonly','readonly');
用于启用

$(“#editreservation_to”).datetimepicker({minDate:false,maxDate:false});

你可以使用moment.js做一些事情,但是由于我的代码在使用moment()时不断抛出错误,有人知道有一个网站有关于如何使用Bootstrap 3 datepicker的示例吗?正如你所看到的,我正在使用moment(在本例中为enabledDates),但我一直收到错误消息,那一刻没有定义。我查看了我的开发控制台日志,我可以很好地使用矩函数。使用pickTime:false我认为我的答案比你的更动态。Hi Kasun,很抱歉你一定没有理解我上面写的内容。您可以开箱即用,因此您的方法意味着有人编写不必要的代码。阅读我的代码,它实际上不是我的代码,它实际上是带有我的值的插件代码,然后将其与您的代码进行比较,然后提供其更具动态性的详细信息。谢谢请在代码中提供如何设置变量“todayDate”的值
minDate: new Date(new Date().setDate(todayDate - 30))
maxDate: new Date(new Date().setDate(todayDate + 30))