AngularJS - 组合表单字段

时间:2014-10-11 16:00:24

标签: angularjs time angularjs-scope

我正在尝试创建一个动态表单,我可以输入hh:mm:ss格式的持续时间。

我想将该值存储为秒。

我没有看到允许持续时间样式时间(只是日期)的角度输入类型,因此我似乎离开时使用固定日期并仅提取该日期后的秒数,或使用3个单独的数字字段(hh,mm,ss),并且包含一个包含已转换秒数的隐藏字段。

有没有简单的方法来实现第二种方法?无论如何,我无法在提交表单时创建第二个范围来存储这些临时值或从范围清除它们。

2 个答案:

答案 0 :(得分:0)

您需要为自定义字段创建验证器和过滤器。你只能有一个输入。验证器将检查是否以{0-24}:{0-60}:{0-60}等格式输入值,并在模型中存储秒数。过滤器会将秒数转换为您想要的格式。您还可以添加的是格式占位符,甚至更好的格式化程序,它将帮助用户编写输入(添加:自动)。如果您需要任何其他计算或变量,最好使用隔离范围,但在此示例中,我认为不需要。

答案 1 :(得分:0)

与其他答案中指出的一样,您可以将ng-pattern指令与{0-24}:{0-60}:{0-60}用作正则表达式。

然后在该字段上使用过滤器,或者在更改时使用可以获取三个值的自定义方法。