【问题标题】:jQuery datepicker: preselect month of second datepickerjQuery datepicker:预选第二个日期选择器的月份
【发布时间】:2013-03-01 10:28:28
【问题描述】:

我有两个日期选择器:到达和离开。现在,如果您选择 4 月 26 日抵达,出发日期选择器应预选为 4 月(目前是 3 月)。那么我该如何实现呢?

我尝试了以下方法:

$( "#arrival" ).datepicker({
    buttonImage: 'fileadmin/templates/images/calendar.png',
    buttonImageOnly: true,
    changeMonth: true,
    changeYear: true,
    showOn: 'both',
    buttonText: 'arrival',
    onSelect: function(){
        var arrivalDate = $(this).datepicker('getDate').getDate();
        var arrivalMonth = $(this).datepicker('getDate').getMonth();
        var arrivalYear = $(this).datepicker('getDate').getFullYear();
        $('#departure').datepicker({ defaultDate: new Date(arrivalYear,arrivalMonth,01) });
    }
});
$( "#departure" ).datepicker({
    buttonImage: 'fileadmin/templates/images/calendar.png',
    buttonImageOnly: true,
    changeMonth: true,
    changeYear: true,
    showOn: 'both',
buttonText: 'departure'
}); 

setDate 将填写不需要的文本输入字段。这可能吗?

【问题讨论】:

    标签: javascript jquery calendar datepicker


    【解决方案1】:

    问题

    目前在您的onSelect 回调中,您正尝试重新初始化departure 元素以更改其defaultDate 选项:

    $('#departure').datepicker({ defaultDate: new Date(arrivalYear,arrivalMonth,01) });
    

    但是,在初始化之后,datePicker 选项应该以这种形式设置,无需重新初始化元素:

    datePicker('option','some-option','some-option-value').
    

    解决方案

    使用正确的形式设置depature元素的defaultDate选项。

    例如:

    ...
    var departure_date = new Date(arrivalYear,arrivalMonth,01);
    $('#departure').datepicker('option','defaultDate', departure_date);
    ...
    

    jsFiddle demo

    【讨论】:

      【解决方案2】:

      先计算值然后这样设置

      $( "#departure" ).val($("#arrival").val())datepicker(
       ......
      
      );
      

      【讨论】:

      • valsetDate 有什么区别?两者似乎都做同样的事情。
      • 我不知道确切的原因。我是这样使用的
      • 这似乎设置了输入字段。我想要做的是,在第二个日期选择器中,当他单击日期选择器并选择一个日期时,月份应该已经是 4 月(如第一个)。所以没有直接设置值 - 只选择月份。
      • 使用我尝试的代码,输入字段已经填写完毕。我不知道用户想要选择什么。所以用户必须再次点击日期选择器才能选择正确的日期?
      猜你喜欢
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 2011-12-30
      • 1970-01-01
      相关资源
      最近更新 更多