首页 > 解决方案 > 如何在日期选择器中开始年份范围?

问题描述

如何在 ASP.NET MVC 中的日期选择器日期时间中修复年份范围开始年份?

我的代码是

脚本:

<script type="text/javascript">

    $(document).ready(function () {
        $('input[type=datetime]').datepicker({
            dateFormat: "dd/mm/yy",
            changeMonth: true,
            changeYear: true,
            yearRange: "-60:+0"
        });

    });
</script>

看法

@Html.DropDownListFor(m => m.Gender, Model.GenderList, "- Select Gender -", new { @class = "form-control" })


@Html.EditorFor(m => m.Dateofbirth, new { @class = "form-control datepicker" }).

在这里我的问题是如何修复dateofbirth字段日期选择器中的年份范围取决于性别值..

前任:

Gender==Male dateofbirth year select Option starts from (currentYear - 21)
Gender==Female dateofbirth year select Option starts from (currentYear - 18)

在 dateofbirth 字段中选择性别值更改更改年份范围后,其他显示错误消息。

标签: javascriptasp.netasp.net-mvcasp.net-mvc-3

解决方案


解释:

jQuery Datepicker有一个yearRange propertywhichallows user来设置startend year范围内displayed的。Year DropdownjQuery Datepicker

该值的语法是'{Start-Year}:{End-Year}'

<script type = "text/javascript">
 $(function() {
$('.date-picker').datepicker( {
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: 'yy',
    onClose: function(dateText, inst) { 
        $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
    }
});
 $('.date-picker2').datepicker( {
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: 'yy',
    onClose: function(dateText, inst) { 
        $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
    }
});
  });
   </script>

在 js fiddle 中运行代码:

点击这里


推荐阅读