我在MVC表单上具有以下TextBoxFor:
<div class="col-xs-3">
@Html.TextBoxFor(m => m.SalesSubTotal, null, new { @class = "form-control", title = "", @tabindex = "-1", @readonly = "readonly", @style = "text-align:right", Value = String.Format("{0:C2}", Model.SalesSubTotal) })
</div>
用户将永远不会在此字段中实际输入值。该字段总是通过如下所示的JavaScript函数中的一行来更新:
$("#SalesSubTotal").val(salesSubTotal.toFixed(2));
当页面首次显示时,输入将显示$ 0.00,正如我所期望的那样。但是,更新该字段时,永远不会显示货币符号。因此,它不会显示$ 90.15,而是显示90.15。
有人可以看到我在做什么吗?
最佳答案
调用javascript时,您的数字格式{0:C2}
不再有效:
$("#SalesSubTotal").val(salesSubTotal.toFixed(2));
就像您经历过的一样,实际上将字段设置为带有两位小数的值。您还必须在此处添加美元符号以获得正确的结果:
$("#SalesSubTotal").val("$" + salesSubTotal.toFixed(2));