保持第2个datepicker受第1个datepicker限制

时间:2016-08-14 01:23:03

标签: jquery date jquery-ui datepicker

我正在尝试使用以下代码段来控制datepicker字段的最小日期,具体取决于之前前一个字段中选择的日期。经典的“开始日期”“结束日期”情况。如果用户将开始日期更改为结束日期之后,我还想将结束日期更改为开始日期。

这是我正在尝试的。

$('#projBegins .hasDatepicker').datepicker({
    onSelect: function(dateStr) {         
        $('#projEnds .hasDatepicker').val(dateStr);
        $('#projEnds .hasDatepicker').datepicker('option',{ minDate: new Date(dateStr)})
    }
});

2 个答案:

答案 0 :(得分:0)

  

班级名称中的问题“hasDatepicker”。

不要在datepicker的input元素中使用hasDatepicker类名。使用其他名称,例如date_picker。

JQuery将类hasDatepicker添加到调用datepicker()的元素中。如果元素已经具有类hasDatepicker,则datepicker()函数不执行任何操作。所以使用不同的类名。

尝试以下工作示例:

1K
$(function() {

  $("#projBegins .datepicker").datepicker({
    onClose: function(selectedDate) {
      var start = $("#projBegins .datepicker").datepicker("getDate");
      var end = $("#projEnds .datepicker").datepicker("getDate");
      alert(start);
      alert(end);
      if (start > end) {
        $('#projEnds .datepicker').val(selectedDate);
      }
      $(".end-date").datepicker("option", "minDate", selectedDate);
    }
  });
  $("#projEnds .datepicker").datepicker({
    minDate: 0,
  });

});

答案 1 :(得分:0)

以下是如何操作:

  startInput.datepicker('option', 'onSelect', function(date){
            expInput.datepicker('option', 'minDate', date);
        });