【问题标题】:Auto set mindate and maxdate of datepicker based on selected year in dropdown根据下拉列表中选择的年份自动设置 datepicker 的 mindate 和 maxdate
【发布时间】:2017-11-17 13:52:37
【问题描述】:

我可以根据下拉列表中选择的年份设置日期选择器的 mindate 和 maxdate 吗?

下拉菜单

<div class="col-sm-2" id="y_type" style="text-align:left;">
<select class="" style="width: 100%; display:inline-block;">
    @{ 
         DateTime datetime = DateTime.Now;
         for (int i = 0; i <= 2; i++)
      {
           <option>@(datetime.AddYears(+i).ToString("yyyy"))</option>
       }
     }
</select>
 </div>

日期选择器代码

$(document).ready(function () {
        var dateCount = 1;
        $('.holidayBody tr').each(function (e) {
            var x = $(this).find('.holiday_date');
            x.attr('id', 'daterange' + dateCount);
            x.attr('readonly', 'true');
            $('#daterange' + dateCount).datepicker({ dateFormat: "dd/mm/yyyy" });
            dateCount++;
        });
    });

如果选择 2017 年,则文本字段中的日期选择器将仅小于 2017 年,而更大的年份将被禁用

【问题讨论】:

    标签: javascript jquery datepicker uidatepicker


    【解决方案1】:

    试试这个代码

    您可以使用yearRange 设置年份

    http://api.jqueryui.com/datepicker/#option-yearRange

    var selectedYear;
    $('#dropdown').on('change',function(){
      selectedYear = $('#dropdown :selected').text();
      var start = new Date();
      start.setFullYear(selectedYear);
      $("#daterange").datepicker("destroy");
      $( "#daterange" ).datepicker({
        	changeMonth: true,
            changeYear: true,
    	yearRange: start.getFullYear() + ':' + start.getFullYear()
    });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
    <select id="dropdown" name="dropdown">
      <option value="select">select-year</option>
      <option value="2011">2011</option>
      <option value="2012">2012</option>
      <option value="2013">2013</option>
    </select>
    <input type="text" id="daterange">

    【讨论】:

      【解决方案2】:

      你可以试试这个

      $(function () {
          var start = new Date();
          var end = new Date();
      
          $('#dob').datepicker({
              changeMonth: true,
              changeYear: true,
              yearRange: start.getFullYear() + ':' + end.getFullYear()
          });
      });
      

      【讨论】:

        猜你喜欢
        • 2017-04-07
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-03
        • 2018-01-24
        • 2020-10-06
        • 1970-01-01
        相关资源
        最近更新 更多