如何在jquery datepicker中设置maxDate

时间:2015-08-03 11:52:03

标签: javascript jquery datepicker

您好我已经包含了代码

 $('.start').datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        maxDate: "+0D",
        dateFormat: "mm.dd.yy",
        onClose: function(selectedDate) {
          $('.end').datepicker("option", "minDate", selectedDate);
        }
      });
      $('.end').datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        maxDate: "+0D",
        dateFormat: "mm.dd.yy",
        onClose: function(selectedDate) {
          if (selectedDate.length >1)
            $('.start').datepicker("option", "maxDate", selectedDate);
          else
            var selectedDate = new Date();
                selectedDate = selectedDate.format('mm-dd-yyyy');
            $('.start').datepicker("option", "maxDate", selectedDate );
        }
      });

      <input type="text" name="start_date" class="start">
      <input type="text" name="start_date" class="end">

当我点击开始时,它允许我选择到今天的日期(即03-08-2015),但是当我结束时没有选择开始然后开始然后它需要我到2010年,即它开始日历显示从2010年1月起。请指导我如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

选择器应该是字符串。我认为你要做的是设置开始/结束日期的边界,以便它们有意义。我会使用基于ID的选择器,并为maxDate设置start,为minDate设置end

$(function () {
    $('#start').datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        maxDate: "+0D",
        dateFormat: "mm.dd.yy",
        onClose: function (selectedDate) {
            $('#end').datepicker("option", "minDate", selectedDate);
        }
    });
    $('#end').datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        minDate: "+0D",
        dateFormat: "mm.dd.yy",
        onClose: function (selectedDate) {
            $('#start').datepicker("option", "maxDate", selectedDate);
        }
    });
});


<input type="text" name="start_date" id="start">
<input type="text" name="end_date" id="end">

看看这里:http://jsfiddle.net/9q4Lkrth/