26

我想限制引导程序的日期选择器获取未来的日期。我只想启用到今天的日期。我怎样才能实现这一点。

这是我的代码

<script>
  var FromEndDate = new Date();

   $(function(){
     $('.datepicker').datepicker({
       format: 'mm-dd-yyyy',
       endDate: FromEndDate, 
       autoclose: true
     });
   });
</script>

任何机构都可以对此提供帮助吗

4

10 回答 10

56

这是一个工作解决方案的演示:

http://jsfiddle.net/tjnicolaides/cjp7y/

<script>
$(function(){
    $('.datepicker').datepicker({
        format: 'mm-dd-yyyy',
        endDate: '+0d',
        autoclose: true
    });
});
</script>

编辑:支持 startDate 和 endDate 的 Bootstrap Datepicker 版本在这里:https ://github.com/eternicode/bootstrap-datepicker

原项目,也就是目前该插件的热门搜索结果,目前没有该功能:http ://www.eyecon.ro/bootstrap-datepicker/

于 2014-01-07T05:13:29.020 回答
27

endDate属性设置为+0d

<script> 
    $(function() {
        $('.datepicker').datepicker({
            format: 'mm-dd-yyyy',
            endDate: '+0d',
            autoclose: true
        });
    });
</script>

小提琴

于 2014-01-07T05:03:02.637 回答
7

这段代码对我有用..

$('#txtTo').datepicker({
    dateFormat: "dd/MM/yy",
    changeMonth: true,
    changeYear: true,
    ignoreReadonly: true,
    maxDate: 'now'
});
于 2016-10-12T06:26:03.740 回答
6

尝试这个,

$(function () {
    $('.datepicker').datepicker({
        format: 'mm-dd-yyyy',
        endDate: '+0d',
        autoclose: true
    });
});

我使用了日期选择Git

演示

于 2014-01-07T05:04:28.303 回答
6
$(document).ready(function(){
    $(".datepicker").datepicker({
        endDate:'today'
    });
});

将此添加到您的 js 用户只能选择截至今天的日期,并且用户不能手动将自定义日期值输入到输入元素。如果用户输入自定义值,那么它将自动更改为当前日期

于 2015-12-04T07:54:54.530 回答
2

由于插件中的问题,使用此 datepicker.js 正在发生

http://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.2.0/js/bootstrap-datepicker.js

于 2014-01-07T05:40:04.317 回答
1
$(function(){
    $('.datepicker').datepicker({
        format: 'mm-dd-yyyy',
        onRender:function(date){
            return date.valueOf() > FromEndDate.valueOf()?'disabled':'';
        }
     });
});
于 2014-11-04T06:32:20.893 回答
1

以上解决方案都不适合我。经过大量的搜索和调试,我终于修复了它。我在下面分享我的解决方案,如果像我这样面临同样问题的人可以尝试以下解决方案。

var now = new Date();
$('[name=depdate]').datepicker({
    format: 'yyyy-mm-dd',
    onRender: function(date) {
        if(date.valueOf() > now.addDays(15).valueOf()) {
            return 'disabled';
        } else if(date.valueOf() < now.valueOf()) {
            return 'disabled';
        }
    }
})
.on('changeDate', function(){
    $(this).datepicker('hide');
}).data('datepicker');
于 2018-08-07T15:14:52.860 回答
1

您可以使用选项 endDate 来完成。endDate 选项中指定的日期之后的所有日期都被禁用。如果您想禁用今天之后的日期,请在输入标签中使用:

<input type="text" data-provide="datepicker" data-date-end-date="0d">

来源:https ://bootstrap-datepicker.readthedocs.io/en/stable/options.html#id5

于 2019-07-03T09:07:28.140 回答
-1

尝试这个:

var date=new Date();
$('#datetimepicker').datetimepicker({
    format: 'MM/dd/yyyy',
    language: 'en',
    startDate : new Date('2015-01-01'),
    endDate :  date
});
于 2016-04-14T07:03:47.617 回答