-1

我有 3 个日期输入:

<p>Bill 50%: <input type="date" name="bill50" /> </p>
<p>Bill 30%: <input type="date" name="bill30" /> </p>
<p>Bill 20%: <input type="date" name="bill20" /> </p>

我想知道如何更改 and 的值bill30bill20使其自动将 30 天和 60 天分别添加到bill50.

我尝试在 PHP 中做这件事无济于事,因为我对 JavaScript、AJAX 等完全是个菜鸟,所以当我提出愚蠢的问题时,请多多包涵。

4

1 回答 1

2

我在一些 jQuery 方法的帮助下做了一个例子:

演示

html:

<input type="date" id="fromDate" size="10"/>
<input type="date" id="toDate" size="10"/>

js:

$('#fromDate').on('change', function() {
    var date = new Date($(this).val());
    date.setDate(date.getDate()+20);
    $('#toDate').val(date.toJSON().slice(0,10));
});

解释

  • $('#fromDate')选择第一个日期选择器
  • .on('change', function() { ... })如果选择了日期并且回调函数被执行则触发
  • 在这个函数$(this)中指的是日期选择器元素
  • date.getDate()+20将所选日期增加 20 天
  • date.setDate(...)设置新日期
  • $('#toDate').val(...)在第二个日期选择器上设置日期
  • 你不能val(date)直接打电话,因为date看起来像这样:"Tue Jun 04 2013 02:00:00 GMT+0200 (CEST)"
  • date.toJSON()给我们:"2013-06-04T00:00:00.000Z"
  • date.toJSON().slice(0,10)给我们前 10 个字符:("2013-06-04"这是日期输入期望的格式)
于 2013-05-29T01:18:25.420 回答