如何根据其他日期更改jquery中的日期

时间:2016-04-26 18:33:50

标签: php jquery forms datetime

我有一个简单的PHP表格:

<form>
  Date of dispatch<br>
  <input type="datetime" name="date_dispatch" id="date_dispatch" value="2016-04-26 10:00:00"><br>
  Expected delivery timne<br>
  <input type="datetime" name="date_delivery" id="date_delivery">
  <br>
  <input type="submit" value="Submit">
</form>

用户可以指定第一个日期(何时收集包裹),第二个字段应为预期交付日期。但是交货时间不能早于3小时后的夹头时间。 如何使用AJAX / JQUERY将 date_delivery 的值更改为基于 date_dispatch +3小时自动计算。

我正在尝试一些测试,但没有结果:

$(document).ready(function(){

    $('#date_dispatch').change(function() {
    document.getElementById('date_delivery').value = 'test';
  });

});

这是我的测试小提琴: https://jsfiddle.net/xr7cm6w7/

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

只要您想显示此值,就不需要使用AJAX。 在第一个输入更改函数

上使用javascript Date对象

here sth more about this

答案 1 :(得分:0)

这是一个使用jQUery处理它的函数:

$(document).ready(function(){
  $('#date_dispatch').change(function() {
    // Get current dispatch time
    var time = new Date($('#date_dispatch').val());

    // Add 3 hours
    time.setTime(time.setHours(time.getHours()+3));

    // Set delivery time
    $('#date_delivery').val(time.toString());
  });
});

这是jsfiddle:https://jsfiddle.net/mewcg3zo/10/

您会注意到格式不一样,您需要做一些额外的工作才能将日期字符串恢复到您想要的状态。您可以在这里查看有关如何执行此操作的一些提示。 Javascript format date / time