【问题标题】:Jquery Mask Plugin removes decimal zerosJquery Mask Plugin 删除十进制零
【发布时间】:2021-11-06 16:22:55
【问题描述】:

我在我的 MVC .Net 项目中使用jQuery Mask Plugin。在引导模式中,会显示一个包含货币类型字段的表单。

@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

我该怎么做才能使小数为零时,掩码继续保留它们?

【问题讨论】:

    标签: jquery asp.net-mvc mask jquery-mask


    【解决方案1】:

    我继续查看我的问题,发现不是面具导致它。显然问题发生在$.parseJSON 中,数字类型的字段在转换具有零作为小数的值时将其保持为 0。

    How to prevent removing decimal point when parsing JSON?

    所以我的快速修复(我不知道它是最好的还是正确的)是在为字段分配值时执行以下操作。

    $("#Amount").val(amountNum.toFixed(2));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-28
      • 2016-11-24
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 2014-07-26
      • 2012-12-06
      相关资源
      最近更新 更多