仅启用当前日期直到接下来的30天 - bootstrap datepicker

时间:2013-12-05 10:28:29

标签: jquery ruby-on-rails twitter-bootstrap datepicker

在rails 3.2.13项目中,我使用的是bootstrap datepicker插件。现在,日历通过禁用以前的日期显示当前日期。现在我需要限制日历以选择当前日期+仅接下来的30天。

我使用下面的代码来禁用上一个日期,

function currentDatePicker(id){
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

 $('#' + id).datepicker({
    format: "yyyy-mm-dd",
    onRender: function(date) {
        return date.valueOf() < now.valueOf() ? 'disabled' : '';
    }
 });
}

4 个答案:

答案 0 :(得分:3)

尝试maxDate

$('#' + id).datepicker({ maxDate: "+30d" });

$('#' + id).datepicker( "option", "maxDate", "+30d" );

<小时/> 在OP的评论

之后更新

fiddle Demo

$('#' + id).datepicker({
    maxDate: "+30d",
    minDate:0
});

minDate

答案 1 :(得分:3)

在Bootstrap datepicker中设置当前日期使用: startDate: new Date()以前的日期是明确的。

设置接下来的30天使用: endDate: '+30d'它只显示当前日期的30天

这里是示例代码:

$('#datepicker').datepicker({ 
  startDate: new Date(), // controll start date like startDate: '-2m' m: means Month
  endDate: '+30d'

});

答案 2 :(得分:0)

试试这个:

 $('#datepicker').datepicker({
    startDate: 0,
    endDate: '+30d'
});

答案 3 :(得分:-1)

试试这个工作演示:http://jsfiddle.net/1wsf97pt/

$(function () {
    $("#Id").datepicker({

        minDate: new Date,
        onSelect: function (dateText, inst) {
            try {
                $.datepicker.parseDate('mm/dd/yy', dateText);
            } catch (e) {

                alert(e);

            };
        }
    });
});