我的项目有要求以货币格式显示金额字段。我可以实现这个onblur
事件,但让我知道这是否可以使用滤波器或其他AngularJS技术来实现。AngularJS - 如何在输入文本框时应用货币过滤器?
我有以下文本框:
<input type="text" class="form-control" id="MyAmount" name="MyAmount" ng-model="MyAmount" />
我想转换值这个文本框内按照货币格式。所以,如果我输入200000,那么只要输入或输入时应该是$ 200,000.00。
我使用以下技术和应用的滤波器,
<input type="text" class="form-control" id="MyAmount" name="MyAmount" ng-model="MyAmount"
value="{{MyAmount | currency}}" />
但它仅转换为第一密钥I型,等将其转换为2〜$ 2.00然后它清除值(我想找到这个更新的值不是一个数字?)
更新:我能够使用自定义过滤器实时格式化它,但该过滤器在所有情况下都无法正常工作,并且当我保存该值时, $和逗号的数量,而不仅仅是数值。我会尝试更多。
现在感谢我对我应该做什么有更好的理解。我会尝试你的解决方案。但演示只是采取单个数字值,如$ 2.00等我必须手动移动光标前的小数点,然后再次键入输入更多的数字。请看一看。我正在使用最新版本的Chrome。 –
我不明白你的意思。我可以输入任何数字(例如:'$ 2,123.00',我把光标放在小数点分隔符前面并输入'2','1','2','3')。你到底什么意思 ? (我也在Windows上使用最新版本的Chrome。) – gkalpak
是的,如果将光标放在小数点分隔符之前,它可以很好地工作。但我的文本框最初会是空白的,我将从空白处开始输入。在你的演示中,我可以从空白值开始吗?谢谢。 –