Ok tôi đã phải thực hiện một cái gì đó tương tự gần đây và tìm ra cách đơn giản để làm điều này. Tôi nhận ra đây là quá muộn, nhưng tôi đã tìm thấy câu hỏi này, trong khi tôi đang nghiên cứu.
Nói dưới đây là mẫu của bạn: (Giản thể cho ngắn gọn)
<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>
Mã dưới đây cho trường CONTRACT_START_DATE gán một hàm JS để "Thay đổi" sự kiện của trường rằng:
data-change: setContractMinEnd
tôi đã thêm chức năng trên vào một khối tập lệnh để đi ra ngoài với trang. Và bây giờ mỗi khi ngày bắt đầu được thay đổi ngày kết thúc được một giá trị tối thiểu là ngày bắt đầu:
function setContractMinEnd() {
var edval = $('#Contract_Start_Date').data("kendoDatePicker");
var sdval = $('#Contract_End_Date').data("kendoDatePicker");
if (sdval && edval) {
edval.min(sdval.value());
}
}
Bạn rõ ràng là có thể nhận được ưa thích với logic và thiết lập bên dưới hoặc một cái gì đó về việc đó:
edval.min(new Date())
Hy vọng nó sẽ giúp ai đó ...
nó không hoạt động với các mẫu – jestges