2014-10-11 63 views
0

我想創建一個動態表單,我可以在hh:mm:ss格式中輸入一個持續時間。AngularJS--結合表單域

我想將該值存儲爲秒。

我沒有看到允許持續時間樣式時間的角度輸入類型(只是日期),所以我似乎離開時使用固定日期,只是從該日期提取秒數,或使用3單獨的數字字段(hh,mm,ss)和隱藏字段包含轉換的秒數。

有沒有簡單的方法來實現這第二種方法?無論如何,我無法在創建第二個作用域時存儲這些臨時值或在提交表單時從範圍中清除它們。

回答

0

您需要爲自定義字段創建驗證器和過濾器。你只能有一個輸入。驗證器將檢查該值是否以{0-24}:{0-60}:{0-60}的格式輸入,並將秒存儲在模型中。過濾器會將秒轉換爲您所需的格式。您還可以添加一個格式佔位符,甚至更好的格式化程序,它將幫助用戶編寫輸入(自動添加:)。如果您需要任何其他計算或變量,最好使用隔離範圍,但在本例中,我不認爲需要這樣做。

0

正如在其他答案中指出的那樣,您可以使用ng-pattern指令{0-24}:{0-60}:{0-60}作爲正則表達式。

然後使用該字段上的過濾器或自定義方法,可以在變更時選取三個值。