Ok Musiałem zaimplementować coś podobnego niedawno i znaleźli prosty sposób, aby to zrobić. Zdaję sobie sprawę, że jest o wiele za późno, ale znalazłem to pytanie podczas moich badań.
Wypowiedz poniżej szablon: (uproszczony dla zwięzłość)
<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>
Poniższy kod w polu Contract_Start_Date przypisuje funkcję JS do „Zmień” wydarzenie tej dziedzinie:
data-change: setContractMinEnd
I dodano powyższą funkcję w bloku skryptu, aby wyjść ze stroną. I teraz za każdym razem, data rozpoczęcia zmienia się datę końcową dostaje wartość minimalna, która jest data rozpoczęcia:
function setContractMinEnd() {
var edval = $('#Contract_Start_Date').data("kendoDatePicker");
var sdval = $('#Contract_End_Date').data("kendoDatePicker");
if (sdval && edval) {
edval.min(sdval.value());
}
}
Można oczywiście uzyskać fantazyjne z tą logiką i ustawić poniżej lub coś w tym rodzaju:
edval.min(new Date())
mam nadzieję, że ktoś pomoże ...
nie działa z szablonami – jestges