设置默认"到日期"基于用户输入的" From Date"

时间:2014-10-28 08:30:40

标签: jquery datepicker

我正在使用PHP和MySQL。在我的一个表格中有休假选项:

  1. 生育
  2. 亲子鉴定
  3. 当用户从日期选择时,我希望从日期+ 90天填充到日期字段。

    我怎样才能实现这一点。我在jQuery UI中使用了Datepicker。

    以下是表格:

    <select tabindex="1" name="leavetype" id="leavetype" style="width:160px;">
                   <option value="">Select</option>
                   <option value="Maternity">Maternity</option>
                   <option value="Paternity">Paternity</option>
                   <option value="Self-marriage">Self-marriage</option>
    </select>
    
    <span style="width:50px; display:inline-block">From</span>
    <input type="text"  tabindex="1" id="txtForm" name="txtForm" size="12"  />
    <span style="width:50px; display:inline-block">To</span>
    <input type="text"  tabindex="1" id="txtTo" name="txtTo" size="12"  />
    

    我已经尝试过ajax,但不知何故它没有woking。 这是jquery-Ajax:

    $(document).ready(function(e) {
        $('#txtForm').change(function(){
            var from = $(this).val();
            var type = $('#leavetype').val();
            if(type == 'Maternity'){
                 var to = $('#txtTo').datepicker("from", "+3");
                    alert(to);
                }else if(type == 'Paternity'){
    
            });
    }); 
    

    这是jsfiddle:http://jsfiddle.net/uh7bg0b9/7/

2 个答案:

答案 0 :(得分:0)

我一直使用Moment.js来操作日期

http://momentjs.com/

在这种情况下,您可以使用变量'to'来解析它来创建一个新日期 http://momentjs.com/docs/#/parsing/

一旦你掌握了正确的'时刻'日期,你就可以增加30天: http://momentjs.com/docs/#/manipulating/add/

然后,您可以将日期“解压缩”为您正在使用的任何日期选择器格式,并将其设置为您要填充的字段: http://momentjs.com/docs/#/displaying/format/

希望这有帮助!

答案 1 :(得分:0)

虽然我同意Jorge使用Moment JS。但是javascript中的解决方案就像是,

var oldDate = new Date($('#txtForm').val());
var newDate = new Date();
newDate.setDate(oldDate.getDate()+90);
console.log(newDate);