Kendo NumericTextBox初始渲染显小数、失焦格式异常问题求助
解决Kendo NumericTextBox显示小数格式的问题
问题出在你通过JavaScript重新初始化组件时,没有保留后端配置的整数格式参数,导致组件重置为默认的小数显示规则。
解决方案一:直接操作已有组件实例(推荐)
不要重新初始化NumericTextBox,而是获取页面上已存在的组件实例,直接设置值即可保留原有格式配置:
console.log("FDTFee = " + jsonData[0].FDTFee) // 获取已初始化的组件实例 var numericBox = $("#txtFrmSettMemoFDTFee").data("kendoNumericTextBox"); // 设置值 numericBox.value(jsonData[0].FDTFee); // 触发change事件确保格式生效 numericBox.trigger("change");
解决方案二:重新初始化时完整配置格式参数
如果必须通过重新初始化的方式设置值,需要在JS代码中完整复制后端的格式配置,避免覆盖原有规则:
console.log("FDTFee = " + jsonData[0].FDTFee) $("#txtFrmSettMemoFDTFee").kendoNumericTextBox({ value: jsonData[0].FDTFee, max: 100, min: 0, decimals: 0, format: "#", htmlAttributes: { style: "width:100%" } });
说明
第一种方案更高效安全,因为重新初始化会销毁原有组件实例,可能丢失已绑定的事件或其他自定义配置;直接操作实例则完全保留后端设置的格式规则,确保组件始终以整数格式显示。
内容的提问来源于stack exchange,提问作者Jonathan Small
相关产品推荐
相关产品推荐

