【发布时间】:2018-04-06 05:12:15
【问题描述】:
我目前正在向作为日期的剑道网格列添加日期掩码。不过,我遇到了两个问题。当我使用下面的代码全局添加掩码时,它按预期工作。
function runDateMaskingUtility() {
$("[data-role='datepicker']").each(function () {
var datepicker = $(this);
datepicker.kendoMaskedTextBox({
mask: "00/00/0000"
});
datepicker.kendoDatePicker({
format: "MM/dd/yyyy"
});
datepicker.closest(".k-datepicker")
.add(datepicker)
.removeClass("k-textbox");
});
}
现在,当我这样做时,它会在列的过滤器标题中正确添加掩码。问题是我们的日期格式如下:
3/01/2018 或 11/01/2018
当用户使用过滤器时,它会在月份的前面附加一个数字的零,在这种情况下,过滤器不会找到与其匹配的字符串。当数据类似于 (3/01/2018) 时寻找 (03/01/2018)。我考虑过检查我们所有的剃刀网格定义,并将日期格式化为无论如何都有两位数的月份,但希望不是更新几十页,而是有一种方法可以让蒙版正确处理这个问题。
第二个问题是,即使列的过滤器标题被屏蔽,当您单击列顶部的下拉菜单进行高级过滤时,它们不包含日期输入的屏蔽。我很确定这是因为这些是动态的,所以当我运行屏蔽功能时,它不会触及这些过滤器输入。我怎样才能将掩蔽应用到这些过滤器?我试图绑定到“过滤器”列表项的悬停事件,然后显示高级过滤器表单但没有成功。提前致谢!
【问题讨论】:
-
真的,从来没有人在堆栈中回答任何剑道问题......奇怪。
-
可能是因为你的问题不切实际。我的意思是,描述太多,很难重现您的错误来测试并尝试给出答案。剑道标签不是那么受欢迎,所以尽可能发布一个简洁的问题 - 这非常重要 - 如果可能的话,一个工作演示(dojo.telerik.com)。另外,如果您有两个问题,请先尝试发布一个,然后在获得您的帮助并尝试自己解决第二个问题后,如果没有成功,则将其作为新问题发布。
标签: javascript kendo-ui kendo-grid masking