日期选取器限制当前年份

3
我对datepicker有一个小问题,希望用户只能用箭头选择从每年的第一天到最后一天之间的日期,但是这是动态的,因为如果我们在2014年,我只能看到2014年的日期。我已经尝试了这种模式,但是用箭头我可以去到例如2012或2014年:
$('#check-in').datepicker({ dateFormat: 'dd-mm', changeYear: false, yearRange: "-0:+0", stepYears: 0  });
4个回答

7

设置minDatemaxDate的方法如下:

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

Link


是的,它有一点作用,如果我点击顶部的箭头来更改月份,我可以进入2014年,但如果我点击它,它会将我设置为2013年。更好的解决方案是我看不到2014年或其他年份,只能看到当前年份。 - Alessandro Minoccheri

2

只需像这样使用yearRange:

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

0
为什么不将yearRange提及为currentyear:currentyear?
你可以这样做: 在

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

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


1
错误再次出现:SyntaxError:在指向的属性列表之后缺少},位置位于:“+curyear +”:“+ curyear +” - Alessandro Minoccheri

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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接