2

Bootstrap DatePicker を使用しています: https://github.com/eternicode/bootstrap-datepicker

InvDate と InvDueDate の 2 つのボックスに接続すると、問題なくポップアップし、日付などをうまく設定できます。

ただし、ドロップダウン ボックスがあります。選択すると、InvDate ボックスに日付を入力し、ドロップダウン リストの val() を InvDate に追加して、InvDueDate を設定します。

ただし、InvDueDate を取得して日付を変更することはできません (何もしません) - ドロップダウン ボックスは関数をトリガーしますが、この行は何もしないようです:

$("#InvDueDate").datepicker("setDate", duedate);:

HTML は次のとおりです。

        <div class="editor-label">
        <label for="InvDate">InvDate</label>
    </div>
    <div class="editor-field">
        <input class="textbox datepicker" data-val="true" data-val-date="The field InvDate must be a date." data-val-required="The InvDate field is required." id="InvDate" name="InvDate" type="text" value="02 May 2013" />
        <span class="field-validation-valid" data-valmsg-for="InvDate" data-valmsg-replace="true"></span>
    </div>



     <div class="editor-label">
       <label for="Terms">Terms</label>
    </div>
    <div class="editor-field">
      <select id="Terms" name="Terms"><option value="0">Due on invoice date</option>
        <option value="7">Net 7 days</option>
        <option value="14">Net 14 days</option>
        <option value="21">Net 21 days</option>
        <option value="28">Net 28 days</option>
        <option value="45">Net 45 days</option>
        <option value="60">Net 60 days</option>
      </select>
    </div>

    <div class="editor-label">
        <label for="InvDueDate">InvDueDate</label>
    </div>
    <div class="editor-field">

        <input class="textbox datepicker" data-val="true" data-val-date="The field InvDueDate must be a date." data-val-required="The InvDueDate field is required." id="InvDueDate" name="InvDueDate" type="text" value="02 May 2013" />

        <span class="field-validation-valid" data-valmsg-for="InvDueDate" data-valmsg-replace="true"></span>
    </div>

私のjQuery/Javascriptは次のとおりです。

<script type="text/javascript">
  $(document).ready(function () {
    $("#Terms").change(function () {
      var invdate = new Date();
      var duedate = new Date();
      invdate = $("#InvDate").val();
      var net = $("#Terms").val();
      duedate.setDate(invdate.getDate() + net);
      $("#InvDueDate").datepicker("setDate", duedate);
   });
  });
</script>

私が間違っているところは誰にとっても明らかですか?

作業コードを表示するための更新

    var start_date = new Date($('#InvDate').val());
    var duration = parseInt($('#Terms').val());
    var end_date = new Date();
    end_date.setDate(start_date.getDate() + duration);
    $("#InvDueDate").datepicker("setDate", end_date);
4

2 に答える 2

1

Are you sure setDate is a method available to $.datepicker? It's not listed in the documentation

This might be what your looking for? https://github.com/eternicode/bootstrap-datepicker#update

于 2013-05-02T14:48:57.813 に答える