繁体   English   中英

Telerik Kendo TimePicker最小/最大设置被忽略

[英]Telerik Kendo TimePicker Min / Max setting get ignored

我有两个剑道TimePicker: fromto

我试图实现的目标是使用JavaScript更改这些TimePickers的下拉列表选项的范围。 两个TimePickers的间隔都是30分钟,从00:00到23:30。

例如,如果选择from 14:30开始,则打开to的选项将至少为14:30。 同样,如果选择to 20:00,则from的最大选项为20:00

我写我的代码,一切似乎都除外好时, fromto选择最后一个选项(23:30),预期的行为是的选项to仅23:30本身。 但是,实际上, to的选项是所有时间跨度,从30:30到23:00为30分钟间隔(即23:30、00:00、00:30,... 23:00)

在此处输入图片说明

我尝试了许多其他“组合”,包括都设置为00:00,除了这种情况外,所有组合均显示正确的行为。 我想知道这是Telerik控件的已知错误,还是我的代码有问题? 如何实现预期的行为?

 var $start = $startSel.data("kendoDateTimePicker"); var $end = $endSel.data("kendoDateTimePicker"); var start = $startSel.val() == "" ? null : $start.value(); var end = $endSel.val() == "" ? null : $end.value(); if (start != null) { $end.min(comLib.ceilTo30Minute(start)); } else { $end.min(new Date(1900, 0, 1)); $end.max(new Date(2099, 11, 31)); } if (end != null) { $start.max(comLib.floorTo30Minute(end)); } else { $start.min(new Date(1900, 0, 1)); $start.max(new Date(2099, 11, 31)); } ///////////////////// in comLib function ceilTo30Minute (dateTime) { if (dateTime == null) return null; var min = dateTime.getMinutes() % 30; if (min != 0) { dateTime = publicAccess.addTime(dateTime, 0, -min); dateTime = publicAccess.addTime(dateTime, 0, 30); } return dateTime; }; function floorTo30Minute(dateTime) { if (dateTime == null) return null; var min = dateTime.getMinutes() % 30; if (min != 0) { dateTime = publicAccess.addTime(dateTime, 0, -min); } return dateTime; }; 

我已经开了一张技术支持票,Telerik回答了我,结果好像是Kendo UI错误。 在这里,我引用他们的答复:

这似乎是DateTimePicker中的错误,我将其转发给我们的开发人员团队进行进一步调查。 目前,您可以处理第二个DateTimePicker的open事件并手动隐藏不需要的时间:

datetimepicker.bind("open", function(e) {
    if (e.view === "time" && e.sender.min().toString().indexOf("23:30:00") >= 0) {      
        var times = e.sender.timeView.popup.element.find("li");
        for(var i=1; i < times.length; i++){
            $(times[i]).hide();
        }
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM