使用jquery.inputmask插件将kendoui文本框格式化为电话号码

时间:2014-01-27 18:28:39

标签: data-binding kendo-ui formatting

我正在尝试使用数据属性将kendoui中的文本框控件格式化为电话号码 后端字段是字符串。

我做到了:

<asp:TextBox runat="server" CssClass="k-textbox" 
    data-role="numerictextbox"
    data-spinner="false"
    data-format="(###) ###.####"/>

<asp:TextBox runat="server" CssClass="k-textbox" data-format="(###) ###.####"/>

但没有效果。

第一个不显示任何中间格式字符或空格:() - 秒不强制数字,也不显示任何中间格式字符。

有什么建议吗?


修改

我只是找到了jquery.inputmask,并尝试使用它。我包含了脚本jquery.inputmask,并添加了data-inputmask属性,如下所示

<script src="/scripts/jquery.inputmask/jquery.inputmask-2.4.20.js"></script>
....
<input type="text" class="k-textbox" data-inputmask="'mask': '(999) 999.9999'"/>

但没有发生任何事。 我应该如何触发掩码执行? 我不想对每个控件使用jquery调用,如

$("#myctrl").inputmask({"mask": "(999) 999.9999"})

但改为使用数据属性

由于

3 个答案:

答案 0 :(得分:0)

您应该使用HTML5电话号码输入类型。

html5 input types

答案 1 :(得分:0)

据我所知,KendoUI没有窗口小部件或控件来格式化输入字段,如电话号码。计划今年很快成立,我认为它尚未发布:

http://feedback.kendoui.com/forums/127393-kendo-ui-feedback/suggestions/2404523-just-a-mask-edit

与此同时,我建议您使用其中一个可用的JQuery选项,例如以下两个示例:

答案 2 :(得分:0)

Here is a link to a working fiddle使用您想要使用的data-inputmask属性。

您已正确分配了属性中的蒙版..

<input type="text" class="k-textbox" data-inputmask="'mask': '(999) 999.9999'"/>

您的问题是您从未选择过元素,然后应用了输入掩码。 data-inputmask只是一个存储掩码定义的属性,它不会自动运行。

您需要添加此内容。

$(document).ready(function()
{
    $('[data-inputmask]').inputmask();
});