2013-07-25 111 views
5

您好我有一个剑道模板,该模板包含一个文本框,如下面的日期时间选择器。如何设置剑道日期时间选择器的最短日期

<script id="popup_editor" type="text/x-kendo-template"> 
    <input data-role="datepicker" data-bind="value: datePickerValue" /> 
</script> 

现在我想为此设置最小值。即我不想允许选择比今天更早的日子。

任何示例?

回答

2

通常,你可以在这里做一些javascript:

var myDatePicker = $("#date").kendoDatePicker().data("kendoDatePicker"); 
myDatePicker.min(new Date()); 

,但我不知道,如果它要你的模板的方式进行工作。也许这是一个开始。

+0

它不与模板 – jestges

5

试试这个

var myDatePicker = $("#myDatePicker").kendoDatePicker().data("kendoDatePicker"); 
var today = new Date(); 
var day = today.getDate(); 
var month = today.getMonth() + 1; 
var year = today.getFullYear(); 
myDatePicker.min(new Date(year,month,day)); 
+0

工作将独立工作..但我使用的日期选择在我的模板像上面的代码 – jestges

+1

剑道提供了许多最新的帮手。您可以简单地调用'kendo.date.today()'来获取当前日期作为JavaScript Date对象。注意:我相信这位助手是在2013年第二季度添加的。 –

2

好吧我最近实施类似的东西,发现一个简单的方法来做到这一点。我意识到这太晚了,但我在做我的研究时发现了这个问题。

说下面是你的模板:(简化为简洁起见)

<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功能,该字段的“更改”事件:

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

希望它可以帮助别人......

+0

如果我必须在选择日期之前设定最短日期。所以用户不能选择以前的日期。我该怎么做? –

相关问题