【问题标题】:Format input with euro sign on AngularJS在AngularJS上使用欧元符号格式化输入
【发布时间】:2014-07-18 07:20:43
【问题描述】:

使用 AngularJS,我在 HTML 表单上有一个输入:

<input id="amount" type="number" ng-model="amount">
  • 我希望用户输入如下内容:12.3
  • 但我希望输入显示如下内容:12.30 €
  • 我想要这个实时或模糊。
  • 我还想保留在此输入上轻松执行算术的可能性:

    <!-- multiply by VAT -->
    total: {{ amount * 1.015 }}
    

我已经看过了:

如果需要,这里是一个空的 jsfiddle:http://jsfiddle.net/6V7c2/

【问题讨论】:

标签: javascript html angularjs formatting


【解决方案1】:

只需从angular directive encapsulating a delay for ng-change 扩展 Doug R 的解决方案,您就可以使用基于指令的解决方案。

因此,在输入元素发生更改后,所需的操作会在可配置的延迟量之后发生。

你可以在http://jsfiddle.net/Lrt7e/1/看到同样的内容

<input ng-model="vars.value" ng-change="updateValue(vars.value)" ng-delay="1000" />

【讨论】:

  • 是的,我虽然是这样,但你在这里改变了模型。因此,算术不再可能。意思是,当您计算总数时:{{ vars.value * 1.015 }},一旦模型用货币符号更新,它就会失败。我在这里需要的是模型和它在 HTML 中的表示之间的东西。
  • 确实可以解决问题。不过,我认为该解决方案并不优雅。我会尝试找出一些东西或看看是否有其他人作为某种神奇的角度指令。否则,我会选择你的解决方案。
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 1970-01-01
  • 2012-03-21
相关资源
最近更新 更多