jQuery - 无法使用twitter bootstrap的datepicker禁用过去的日期

时间:2013-04-24 09:30:55

标签: jquery date twitter-bootstrap datepicker

在rails 3.2.9中,我正在使用twitter bootstrap gem&试图使用其datepicker。在这个datepicker工具中我需要禁用过去的日期,我需要启用当前日期&未来的约会。但现在我无法禁用过去的日期。

我尝试过不同的方式,

例如1:

function scriptDatePicker(id){
var today = new Date();
var dd = today.getDate();
var mm = ("0" + (today.getMonth() + 1)).slice(-2) //January is 0!
var yyyy = today.getFullYear();
$('#' + id).datepicker({
    format: "yyyy-mm-dd",
    startDate: yyyy + '-' +  mm + '-' + dd
});
}

例如2:

$('#id').datepicker({startDate: '01/01/2013'});

例如3:

$("#datepicker").datepicker({ minDate: 0 });

例如4:

$('.datepicker').datepicker('setStartDate', '2013-01-01');

我也试过其他一些例子,但它没有用。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:6)

HTML标记:

<input id="dpd1" type="text" data-date-format="yyyy-mm-dd">

jQuery的:

var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

$('#dpd1').datepicker({
  onRender: function(date) {
    return date.valueOf() < now.valueOf() ? 'disabled' : '';
  }
});

实例:http://jsfiddle.net/Jdqvk/2/

答案 1 :(得分:0)

对于每个只想显示当前年份的人,并禁用过去几年和未来几年的所有日期。就是这样:

标记

<input id="dp1" type="text" data-date-format="yyyy-mm-dd">

的Javascript

var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear());

$('#dp1').datepicker({
  onRender: function(date) {
    return date.getFullYear() < now.valueOf() ? 'disabled' : (date.getFullYear() > now.valueOf() ? 'disabled' : '');
  }
});