-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>

bill30との値を変更bill20して、 の日付にそれぞれ 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(...)2 番目の日付チューザーで日付を設定します
  • 次のように見える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 に答える