首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于格式化不起作用的Kendo时间选择器

用于格式化不起作用的Kendo时间选择器
EN

Stack Overflow用户
提问于 2014-04-10 11:07:26
回答 1查看 2.9K关注 0票数 0

我使用的是MVC Kendo时间选择器。它工作得很好,只是我不能把时间安排成军事时间。在我为军事时间添加格式之后,一旦我选择了验证未通过的时间,它就会告诉我它必须是一个日期。是否有一种方式来格式化TimePickerFor以允许军事时间?

代码语言:javascript
复制
@using Kendo.Mvc.UI
@model DateTime?

@(Html.Kendo().TimePickerFor(m=>m)
    .Value(@Model)
    .Min("05:00")
    .Max("00:00")
    .Format("{0:HHmm}")
)

更新:如果格式更改为.Format("HHmm"),则不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-18 19:41:01

好吧,感谢肯多人,我找到了答案。脚本可能需要一些工作,视情况而定。我的TimePickerFor位于一个编辑器模板中,它与其他时间选择器和数字文本框位于网格中。这种工作方式的唯一特点是,一旦触发脚本,数字框也使用此脚本进行验证(因此返回$.isNumeric(input.val())行)。希望这能帮到别人。

TimePickerFor控制:

代码语言:javascript
复制
@using Kendo.Mvc.UI
@model DateTime?

@(Html.Kendo().TimePickerFor(m=>m)
    .Value(@Model)
    .Format("HHmm")
    .HtmlAttributes(new{data_format="HHmm"})
    .ParseFormats(new[]{"HHmm"})
)

<script>
    var originDate = kendo.ui.validator.rules.mvcdate;

    kendo.ui.validator.rules.mvcdate = function(input) {
        var format = input.attr("data-format");

        if (input.val() == "") {
            return kendo.parseDate("0000", format);
        }

        if (format) {
            return kendo.parseDate(input.val(), format);
        } else {
            return $.isNumeric(input.val());
        }
    };
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22986296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档