Bootstrap datepicker禁用过去的日期而没有当前日期
我想在当前日期之前禁用所有过去的日期,而不是当前日期。 我正在尝试使用bootstrap datepicker库“ bootstrap-datepicker ”并使用以下代码:
$('#date').datepicker({ startDate: new Date() });
它工作正常。 但它是禁用日期直到今天。
例如,如果今天是04-20-2013并且我通过设置startDate:new Date()来禁用过去的日期。 但我可以从2013年11月11日选择日期。
更新:我可以解决以下UTC区域:
var d = new Date(); options["startDate"] = new Date(d.setDate(d.getDate() - 1));
或者startDate: "+0d"
但是,当UTC提前一天时,这些方法不起作用。 对于我在加利福尼亚的客户,这意味着在下午5点,我的客户不能再选择当地的当前日期作为有效日期。 为了解决这个问题,我暂时使用startDate: "-1d"
,但当然在5之前,这意味着昨天可见。
有没有人想出一个更好的方法,因为我不想告诉用户投入UTC日期?
提前致谢。
var date = new Date(); date.setDate(date.getDate()-1); $('#date').datepicker({ startDate: date });
HTML
JS
jQuery(function() { var datepicker = $('input.datepicker'); if (datepicker.length > 0) { datepicker.datepicker({ format: "mm/dd/yyyy", startDate: new Date() }); } });
这将在打开时突出显示日历中的默认日期为2015年4月26日(2015年4月26日),并禁用当前日期之前的所有日期。
使用minDate
var date = new Date(); var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()); $('#date').datepicker({ minDate: today });
使用
startDate: '-0d'
喜欢
$("#datepicker").datepicker({ startDate: '-0d', changeMonth: true });
var nowDate = new Date(); var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); $('#date').datetimepicker({ startDate: today });
您可以使用data属性:
这里是
禁用所有过去的日期
禁用所有未来日期
var date = new Date(); var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()); //Date1 $('#ctl00_ContentPlaceHolder1_txtTranDate').datepicker({ format: 'dd-mm-yyyy', todayHighlight:'TRUE', minDate: today, autoclose: true });
试试吧 :
$(function () { $('#datetimepicker').datetimepicker({ minDate:new Date()}); });
请参考小提琴http://jsfiddle.net/Ritwika/gsvh83ry/
**With three fields having date greater than the ** var date = new Date(); date.setDate(date.getDate()-1); $('.datepickstart').datepicker({ autoclose: true, todayHighlight: true, format: 'dd/mm/yyyy', startDate: date }); $('.datepickstart').datepicker().on('changeDate', function() { var temp = $(this).datepicker('getDate'); var d = new Date(temp); d.setDate(d.getDate() + 1); $('.datepickend').datepicker({ autoclose: true, format: 'dd/mm/yyyy', startDate: d }).on('changeDate', function() { var temp1 = $(this).datepicker('getDate'); var d1 = new Date(temp1); d1.setDate(d1.getDate() + 1); $('.datepickthird').datepicker({ autoclose: true, format: 'dd/mm/yyyy', startDate: d1 }); }); });
在HTML中
在Js方面
禁用过去的日期只需使用:
$('.input-group.date').datepicker({ format: 'dd/mm/yyyy', startDate: 'today' });
要禁用过去的日期并突出显示今天的日期:
$(function () { $('.input-daterange').datepicker({ startDate : new Date(), todayHighlight : true }); });
要禁用未来日期并突出显示今天的日期:
$(function () { $('.input-daterange').datepicker({ endDate : new Date(), todayHighlight : true }); });
有关详细信息,请查看https://bootstrap-datepicker.readthedocs.io/en/latest/options.html?highlight=startdate#quick-reference
这取决于你在datepicker上放置的格式所以首先我们给它格式化。
var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); if(dd<10){ dd='0'+dd; } if(mm<10){ mm='0'+mm; } var today = yyyy+'-'+mm+'-'+dd; //Here you put the format you want
然后传递datepicker(取决于你使用的版本,可能是startDate或minDate,这是我的情况)
//Datetimepicker $(function () { $('#datetimepicker1').datetimepicker({ minDate: today, //pass today's date daysOfWeekDisabled: [0], locale: 'es', inline: true, format: 'YYYY-MM-DD HH:mm', //format of my datetime (to save on mysqlphpadmin) sideBySide: true }); });
以下对我有用
$('.input-group.date').datepicker({ format: 'dd/mm/yyyy', startDate: new Date() });