如何从未来日期限制引导日期选择器

时间:2014-01-07 04:58:09

标签: jquery twitter-bootstrap datepicker bootstrap-datepicker

我想限制bootstrap的日期选择器从未来的日期开始。我只想将日期启用到今天。我怎样才能实现这一点。

这是我的代码

<script>
  var FromEndDate = new Date();

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

任何人都可以帮忙解决这个问题

10 个答案:

答案 0 :(得分:41)

以下是工作解决方案的演示:

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/

答案 1 :(得分:21)

endDate属性设置为+0d

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

FIDDLE

答案 2 :(得分:4)

$(document).ready(function(){
$(".datepicker").datepicker({
     endDate:'today'
    });
});

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

答案 3 :(得分:3)

试试这个,

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

我使用了Git

中的date picker

Demo

答案 4 :(得分:3)

此代码对我有用..

$('#txtTo').datepicker({
            dateFormat: "dd/MM/yy",
            changeMonth: true,
            changeYear: true,
         ignoreReadonly: true,
            maxDate: 'now'
        });
    });

答案 5 :(得分:1)

由于插件中存在问题,因此正在使用此datepicker.js

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

答案 6 :(得分:1)

$(function(){
$('.datepicker').datepicker({
      format: 'mm-dd-yyyy',
      onRender:function(date){
      return date.valueOf() > FromEndDate.valueOf()?'disabled':'';
      }
   });
});

答案 7 :(得分:0)

以上解决方案均不适用于我。经过大量搜索和调试之后,我终于将其修复。我在下面分享我的解决方案,如果像我这样遇到同样问题的人可以尝试以下解决方案。

        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');

答案 8 :(得分:0)

您可以使用endDate选项进行操作。在endDate选项中指定的日期之后的所有日期均被禁用。如果您想禁用今天以后的日期,请在输入标签中使用此标签:

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

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

答案 9 :(得分:-1)

试试这个:

"C:\cygwin64\home\apache-nutch-1.11\lib"