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!到目前为止你都试了些什么?我不知道该怎么办。。我在谷歌上搜索了一下,但没有找到任何解决方案。。