Kendo ui 限制用户输入的小数位数多于Numerictextbox';s配置

Kendo ui 限制用户输入的小数位数多于Numerictextbox';s配置,kendo-ui,Kendo Ui,当在Numerictextbox中配置为小数时,我想限制用户的十进制输入。我使用knockoutjs来观察numerictextbox中的数据。当用户输入更多的小数时,它会在敲除中自动更新,但在控制中,它只显示配置的小数 小数被动态地设置为kendo numerictextbox,所以我需要限制用户输入的小数,因为它更多的是已定义的小数。当用户输入一些小数时,敲除更新该值 一个例子是,如果我将小数设置为2。当用户输入56.2456knockout时,会在模型中更新此值,并且在光标移动到下一个控件

当在
Numerictextbox
中配置为小数时,我想限制用户的十进制输入。我使用knockoutjs来观察numerictextbox中的数据。当用户输入更多的小数时,它会在敲除中自动更新,但在控制中,它只显示配置的小数

小数被动态地设置为kendo numerictextbox,所以我需要限制用户输入的小数,因为它更多的是已定义的小数。当用户输入一些小数时,敲除更新该值

一个例子是,如果我将小数设置为2。当用户输入
56.2456
knockout时,会在模型中更新此值,并且在光标移动到下一个控件numericText框后,将显示
56.25
。我想将这个值更新到模型中,需要限制用户输入超过2位小数


如何应用此限制?

您可以按以下代码执行文本框的按键事件

    $("#txtXZY").kendoNumericTextBox({
    format: "#.00 \\%",
    min: 0,
    decimals: 2,
    max: 100,
    step: 1,
    spinners: IsSpinner
});


$("#txtXZY").bind("keypress", function (e) {

    if (IsTextSelected(this) == false && e.keyCode !== kendo.keys.ENTER) {
        var character = String.fromCharCode(e.keyCode)
        var newValue = this.value + character;
        if (isNaN(newValue) || parseFloat(newValue) * 100 % 1 > 0) {
            e.preventDefault();
            return false;
        }
        if (parseFloat(newValue) > 100) {
            e.preventDefault();
            return false;
        }
    }
});

function IsTextSelected(input) {
if (typeof input.selectionStart == "number") {
    return input.selectionStart == 0 && input.selectionEnd == input.value.length;
} else if (typeof document.selection != "undefined") {
    input.focus();
    return document.selection.createRange().text == input.value;
}
}

欢迎来到stackoverflow!到目前为止你都试了些什么?我不知道该怎么办。。我在谷歌上搜索了一下,但没有找到任何解决方案。。