Jquery Mask 插件删除小数点零
Jquery Mask Plugin removes decimal zeros
我在我的 MVC .Net 项目中使用 jQuery Mask Plugin。在 bootstrap 模式中,显示了一个包含货币类型字段的表单。
@Html.TextBoxFor(model => model.Amount, new { @class = "form-control", data_mask = "#,##0.00", data_mask_reverse = "true" })
该模式用于插入或编辑记录。
当我打开要插入的模式时,蒙版效果很好。
当我打开模式进行编辑时,应该将货币字段中的数据加载到该字段中,但掩码并未应用于该字段。为了解决这个问题,我在打开模式时做了以下操作。
$("#Amount").trigger("input");
而且效果很好。
我遇到的问题是,如果在字段中注册数量 12,345.00
时。当我打开模式进行编辑时,小数点的零被删除,在字段中显示金额 123.45
.
但是,如果我注册 1,234.56
,当我打开模式进行编辑时,字段中会正确显示相同的值 1,234.56
。
我该怎么做才能让小数点为零时,掩码继续保留它们?
我继续检查我的问题,发现问题不是面具造成的。显然,问题出自 $.parseJSON
,即在将具有零的值转换为小数时,类型数字的字段将其保留为 0。
How to prevent removing decimal point when parsing JSON?
所以我的快速修复(我不知道它是最好的还是正确的)是在为字段赋值时执行以下操作。
$("#Amount").val(amountNum.toFixed(2));
我在我的 MVC .Net 项目中使用 jQuery Mask Plugin。在 bootstrap 模式中,显示了一个包含货币类型字段的表单。
@Html.TextBoxFor(model => model.Amount, new { @class = "form-control", data_mask = "#,##0.00", data_mask_reverse = "true" })
该模式用于插入或编辑记录。
当我打开要插入的模式时,蒙版效果很好。
当我打开模式进行编辑时,应该将货币字段中的数据加载到该字段中,但掩码并未应用于该字段。为了解决这个问题,我在打开模式时做了以下操作。
$("#Amount").trigger("input");
而且效果很好。
我遇到的问题是,如果在字段中注册数量 12,345.00
时。当我打开模式进行编辑时,小数点的零被删除,在字段中显示金额 123.45
.
但是,如果我注册 1,234.56
,当我打开模式进行编辑时,字段中会正确显示相同的值 1,234.56
。
我该怎么做才能让小数点为零时,掩码继续保留它们?
我继续检查我的问题,发现问题不是面具造成的。显然,问题出自 $.parseJSON
,即在将具有零的值转换为小数时,类型数字的字段将其保留为 0。
How to prevent removing decimal point when parsing JSON?
所以我的快速修复(我不知道它是最好的还是正确的)是在为字段赋值时执行以下操作。
$("#Amount").val(amountNum.toFixed(2));