Kendo NumericTextBox 在初始渲染时显示小数

问题描述 投票:0回答:1

我的 .cshtml 页面上有以下剑道 NumericTextBox:

@(Html.Kendo().NumericTextBox()
   .Name("txtFrmSettMemoFDTFee")
   .Max(100)
   .Min(0)
   .Decimals(0)
   .Format("\\#")
   .HtmlAttributes(new { style = "width:100%" })
)

我使用以下 JavaScript 代码加载框的初始值:

console.log("FDTFee = " + jsonData[0].FDTFee)
 
$("#txtFrmSettMemoFDTFee").kendoNumericTextBox({
    value: jsonData[0].FDTFee
});

当我查看控制台时,我看到了这个:

FDTFee = 20

但是当元素被渲染时,它看起来是这样的:

如何让盒子的初始渲染显示值 20 而不是 20.00?

此外,当我增加/减少值时,框的格式会更改为整数格式(如果我从 20.00 降到 19)。但是,一旦我单击该元素,整数值就会更改为小数值(19 更改为 19.00)。

谢谢!

kendo-ui kendo-asp.net-mvc
1个回答
0
投票

我相信问题就在这里:

$("#txtFrmSettMemoFDTFee").kendoNumericTextBox({
    value: jsonData[0].FDTFee
});

MVC 包装器为您实例化小部件,但当您尝试设置值时,您将使用 jquery 语法在 javascript 中重新实例化它。

要设置值,请获取对小部件的引用并调用其 value() 方法:

var numerictextbox = $("#txtFrmSettMemoFDTFee").data("kendoNumericTextBox");
numerictextbox.value(jsonData[0].FDTFee);

https://docs.telerik.com/kendo-ui/api/javascript/ui/numerictextbox/methods/value

© www.soinside.com 2019 - 2024. All rights reserved.