【问题标题】:AngularJs: How to Format Data in an Input?AngularJs:如何在输入中格式化数据?
【发布时间】:2012-12-28 18:54:32
【问题描述】:

问题

我需要直观地格式化输入字段,以帮助用户知道他们应该输入什么作为电话号码。例如,我想接受一个电话号码作为 3 位区号、3 位前缀和 4 位后缀:(207) 555-1212。我想:

  1. 为输入字段提供辅助格式 - 括号和连字符
  2. 我不希望“帮助”字符包含在我存储在模型中的实际数据中。
  3. 当用户键入时,我希望括号神奇地出现,然后连字符也出现在正确的位置。

最好的方法是什么?

注意:这不是为了显示数字——我可以为此使用过滤器。这是为了格式化 input 字段中的数据。

感谢您的帮助!

【问题讨论】:

  • 也许您需要一个自定义输入字段(一个小部件)?

标签: input formatting angularjs


【解决方案1】:

如果你正在寻找一个简单的解决方案,你可以试试 AngularUI,http://angular-ui.github.com/

这是该页面“面具”部分的示例:

<input ng-model="maskDemo" ui-mask="'99-99-9999'">

“9”是数字,其他只是掩码/占位符。它应该只提交实际值。您将编辑掩码以包含括号和您可能需要的任何其他内容。

【讨论】:

  • 唯一的缺点是,当电话号码在其他地方查看或保存在数据库中时,它看起来像“9999999999”。
  • @MyCodeSucks 这通常是你想要的,去掉所有非数字,然后任何时候你想显示你的格式化数字,你只需将 ui-mask 应用到它。
猜你喜欢
  • 1970-01-01
  • 2013-11-22
  • 2021-11-25
  • 2014-07-23
  • 2015-02-05
  • 1970-01-01
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
相关资源
最近更新 更多