使用jquery基于另一个日期选择器更新一个日期选择器

时间:2014-10-16 06:45:21

标签: jquery jquery-ui

嗨朋友,因为我是jquery的新手,我不想根据辞职日期datepicker更新我的缓解日期日期选择器。减免日期日期选择器应从辞职日期的下一个60天开始。任何帮助都会被提前感谢。

These are my two datepickers.

   $("#separetiondatepicker").datepicker({ 
        minDate: -0,
        changeMonth: true,
        changeYear: true
   });

   $("#Sedatepicker").datepicker({ 
        changeMonth: true,
        changeYear: true, 
        minDate: -0 
   });

2 个答案:

答案 0 :(得分:0)

$("#startDatePicker").datepicker({ 
    dateFormat: 'yy-mm-dd',
    changeMonth: true,
    onSelect: function(date){

        var selectedDate = new Date(date);
        var msecsInADay = 86400000*60;
        var endDate = new Date(selectedDate.getTime() + msecsInADay);

        $("#endDatePicker").datepicker( "option", "minDate", endDate );
        $("#endDatePicker").datepicker( "option", "maxDate", '+2y' );

    }
});


$("#endDatePicker").datepicker({ 
    dateFormat: 'yy-mm-dd',
    changeMonth: true
});

FiddleLink

答案 1 :(得分:0)

您必须使用jQuery UI datepicker方法方法getDate()和setDate()将值从一个输入字段克隆到另一个输入字段。

HTML代码

Resignation date: <input type="text" class="datepicker" id="dtpik1" />
<br />
Relieving date: <input type="text" class="datepicker" id="dtpik2" />
<br />
<input type="button" id="btnSubmit" value="Submit" />

现在,我们可以在点击提交按钮

后将日期从第1个字段更新到第2个字段

jQuery代码

    $( "#dtpik1" ).datepicker({
    dateFormat: "dd/mm/yy",
    onSelect: function(dt, inst){
        var date2 = $('#dtpik1').datepicker('getDate');
            date2.setDate(date2.getDate()+60);
        $( "#dtpik2" ).datepicker({
    dateFormat: "dd/mm/yy",
            minDate: date2
});

        $('#dtpik2').datepicker(
                                'setDate', date2);
    }
});

http://jsfiddle.net/kk2qL7f8/3/