最近、似たようなものを実装する必要がありましたが、これを行う簡単な方法を見つけました。これは遅すぎることに気づきましたが、調査中にこの質問を見つけました。
以下があなたのテンプレートだとしましょう: (簡潔にするために簡略化しています)
<div class="k-block k-shadow">
<p>Contract Start Date: </p>
<input type="text" tabindex="7"
class="k-input k-textbox"
name="Contract_Start_Date"
id="Contract_Start_Date"
data-bind="value:Contract_Start_Date"
data-format="MMMM yyyy"
data-start="year"
data-depth="year"
data-change="setContractMinEnd"
data-role="datepicker" />
</div>
<div class="k-block k-shadow">
<p>Contract End Date: </p>
<input type="text" tabindex="8"
class="k-input k-textbox"
name="Contract_End_Date"
id="Contract_End_Date"
data-bind="value:Contract_End_Date"
data-format="MMMM yyyy"
data-start="year"
data-depth="year"
data-role="datepicker" />
</div>
以下の Contract_Start_Date フィールドのコードは、JS 関数をそのフィールドの「Change」イベントに割り当てます。
data-change: setContractMinEnd
上記の関数をスクリプト ブロックに追加して、ページを表示しました。そして今、開始日が変更されるたびに、終了日は開始日である最小値を取得します:
function setContractMinEnd() {
var edval = $('#Contract_Start_Date').data("kendoDatePicker");
var sdval = $('#Contract_End_Date').data("kendoDatePicker");
if (sdval && edval) {
edval.min(sdval.value());
}
}
あなたは明らかにそのロジックに夢中になり、以下または何かをその効果に設定することができます:
edval.min(new Date())
それが誰かを助けることを願っています...