选择除今天以外的日期时为什么时间戳不能降级?
我的html代码是这样的:
我的JavaScript代码如下:
$(function () { $('#datepicker').datetimepicker(); $('#timepicker').datetimepicker({ minDate: moment().startOf('minute').add(300, 'm'), }); }); $("#btnSubmit").click(function() { value = document.getElementById('datetimepicker').value; console.log(value) });
这样的演示: https : //jsfiddle.net/8jpmkcr5/89/
如果我单击时间戳并单击减量小时图标,则它不起作用。 我知道它发生是因为这段代码: minDate: moment().startOf('minute').add(300, 'm')
。 我希望代码只在这一天工作。 除了今天,代码不起作用
我该怎么做?
你的#datepicker
和#timepicker
是无关的 ,它们完全独立 ,由你来联系它们。 您可以使用minDate
函数以动态方式设置#timepicker
minDate
。
您可以为dp.change
事件添加列表器,并在所选日期为当前日期时启用或禁用#timepicker
chceking的minDate
(使用momentjs isSame
)。
如果您要禁用过去的日期,则必须将minDate
选项添加到#datepicker
,如评论中所述。
这是一个工作样本:
$(function () { $('#datepicker').datetimepicker({ minDate: moment().startOf('day') }).on('dp.change', function(e){ if( e.date && e.date.isSame(moment(), 'd') ){ var min = moment().startOf('minute').add(300, 'm'); $('#timepicker').data("DateTimePicker").minDate(min); } else { $('#timepicker').data("DateTimePicker").minDate(false); } }); $('#timepicker').datetimepicker({ minDate: moment().startOf('minute').add(300, 'm'), }); }); $("#btnSubmit").click(function() { value = document.getElementById('datepicker').value; console.log(value) valueTime = document.getElementById('timepicker').value; console.log(valueTime) });
如果您只想将输入限制为今天,为什么要尝试设置时间选择器的限制? 您应该在日期选择器上设置限制