我的 .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)。
谢谢!
我相信问题就在这里:
$("#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