2017-03-13 14 views
0

私はいくつかの関数を使って1つずつ処理する必要がある、多くのフィールドを含むフォームを持っています。すべてのフィールドの値を文字列に連結する必要があると仮定できます。フォームフィールドを角方向に反復処理するにはどうすればよいですか?

フォームはng-modelを使用します。

<div ng-form="form" ng-submit="submit()" novalidate> 
    <input ng-model="ctrl.firstName" required="true"> 
    <input ng-model="ctrl.lastName" required="true"> 
    <!-- 30+ more inputs --> 
</div> 

DOMを反復することなく、このように角度をつけたいと思います。

+0

? – Sajeetharan

+0

@Sajeetharan私は30以上のフィールドを持っているので、すべての名前を結びつけるのではなく、それらをループしたい – Dan

+0

[AngularJS ng-modelディレクティブAPIリファレンス](https://docs.angularjs.org/api/ng/directive/)を参照してください。 ngModel)および[AngularJS Developer Guide - Forms](https://docs.angularjs.org/guide/forms)を参照してください。 – georgeawg

答えて

4

あなたは角度の機能を提出する上で、このような何かを行うことができます:あなただけのコントローラで、姓と名の値を取るカントなぜ

for (var field in $scope.ctrl) { 
    if ($scope.ctrl.hasOwnProperty(field)) { 
     // do stuff 
     $scope.ctrl[field] ... 
    } 
} 
+3

さらに、コントローラ上で反復処理したくない他のプロパティやメソッドがある場合は、コントローラ内のすべてのフォーム値を名前空間にすることができます。例えば、 '$ scope.form.lastname'、' $ scope .form.firstname'など –

関連する問題