datepicker限制当前年份

时间:2013-08-08 15:37:20

标签: javascript jquery datepicker

我对datepicker有一点问题,我希望带箭头的用户只能选择第一个月的第一天和一个月的最后一天之间的日期,但它会是动态的,因为如果我们是在2014年,我只能看到2014年。

我已尝试过这种模式,但有了箭头,我可以去2012年或2014年,例如:

$('#check-in').datepicker({ dateFormat: 'dd-mm', changeYear: false, yearRange: "-0:+0", stepYears: 0  });

4 个答案:

答案 0 :(得分:5)

设置minDatemaxDate

$(function() {
    var year = (new Date).getFullYear();
    $( "#datepicker" ).datepicker({
        minDate: new Date(year, 0, 1),
        maxDate: new Date(year, 11, 31)
    });
});

Link

答案 1 :(得分:2)

只需使用yearRange,就像这样:

datepick({yearRange: new Date().getFullYear() + ':' + new Date().getFullYear()});

答案 2 :(得分:0)

为什么不提一年当前年份:今年?

你可以这样做: 之后

$(document).ready(function(){
var curyear = $("#year").text( (new Date).getFullYear() );

在你的日期选择器内,     yearRange: "+curyear+":"+curyear+"

答案 3 :(得分:0)

这对你有用:

jsFiddle

<head>
  <meta charset="utf-8" />
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script>

    $(document).ready(function() {

        var date = new Date(), y = date.getFullYear(), m = date.getMonth();
        var fSDate = new Date(y, m, 1);
        var fEDate = new Date(y, m + 1, 0);

        $.datepicker.setDefaults({
            changeMonth: false,
            changeYear: false,
            showOtherMonths: false,
            yearRange: '-0:+0',
            dateFormat: 'yy-mm-dd',
            defaultDate: +0,
            numberOfMonths: 1,
            minDate: fSDate, 
            maxDate: fEDate,
            showAnim: 'fadeIn',
            showButtonPanel: false
        });

        $('#date_start').datepicker();

    }); //END document.ready()
  </script>
</head>
<body>

    <input type="text" id="date_start">

</body>
</html>