我想知道是否有人可以帮助我。使用Dan Grossman的Bootstrap日期选择器我想在选定的开始日期添加30天并将其定义为maxDate,以便用户无法选择超过此日期。
我真的坚持这个,我找不到任何与我想做的事情相关的文件。这是我的代码;
var min_date = new Date();
var max_date = '05/31/2013';
$('#limited').daterangepicker(
{
minDate: min_date,
maxDate: max_date,
},
function(start, end) {
$('#limited')
.data("showAddEventDialogue_dateRangeStart", start)
.data("showAddEventDialogue_dateRangeEnd", end);
});
非常感谢任何帮助或建议。
万分感谢。
答案 0 :(得分:4)
该插件似乎只接受minDate
和maxDate
的特定日期格式,即mm/dd/yyyy
。
遗憾的是,仅使用new Date();
不起作用,因为它返回完整日期,格式不正确。
下面的代码似乎对我有用,它总是使用今天的min和+30作为最大值。
/* Get the code into mm/dd/yyyy format */
function getFormatDate(d){
return d.getMonth()+1 + '/' + d.getDate() + '/' + d.getFullYear()
}
$(document).ready(function() {
var minDate = getFormatDate(new Date()),
mdTemp = new Date(),
maxDate = getFormatDate(new Date(mdTemp.setDate(mdTemp.getDate() + 30)));
$('#daterange').daterangepicker(
{
minDate: minDate,
maxDate: maxDate
}
);
});
答案 1 :(得分:1)
正如thebrieflabb在评论中提到的,你可以解决这个问题如下:
var endDate = new Date();
endDate.setDate(startDate .getDate()+30);
您可以找到更多解决方案in this thread。
希望这有帮助。
答案 2 :(得分:0)
您可以这样使用:
var date2 = new Date();
date2.setDate(date2.getDate()-1);
console.log(date2);
$('#daterange').daterangepicker({
showDropdowns: false,
format:'MM/DD/YYYY',
maxDate:date2,
autoclose: true,
autoApply:true,
});
希望它能帮助任何人。
答案 3 :(得分:0)
您需要像下面这样设置maxDate和minDate: 您应该将其存储在变量中,然后使用它。
var prev_date = new Date(); prev_date.setDate(prev_date.getDate() - 1); $('input[name="daterange"]').daterangepicker({ opens: 'left', showDropdowns: true, autoUpdateInput: false, maxDate: prev_date, locale: { cancelLabel: 'Clear', format: 'MMM DD, YYYY' } });
和
如果您只允许用户选择上一个日期
例如出生日期,您可以使用此道具。
startDate : prev_date