2016-12-21 12 views
0

私は初心者です。私はあなたがたぶん簡単に見つけられる何かのための助けを必要とします。Angularjs:行のための単一の配列の動的入力

複数の入力を1つのボタンで同時に入力したいと考えています。 管理方法がわかりません。 これは私がやっていることであり、私はブロックされています。 あなたのアイデアに感謝します。

私のフォームには、それぞれの名前と、その人の年齢を入力するための入力ボックスが表示されています(人数には何人の人がいるかわかりません)。 最後に、showAll()関数を呼び出す 'submit'ボタンがあります。

そしてその後、私はちょうどこのようにconsole.log

フォームの配列の内容を表示したい: Form with only 3 people

HTML:

<form name="myForm3"> 
    <div class="form-group row" ng-repeat="person in people track by $index"> 
    <label for="player" class="col-xs-3 col-form-label text-right">{{ person.name }}</label> 
    <div class="col-xs-2"> 
     <input class="form-control" type="text" ng-model="person.age[$index]" required> 
    </div> 
    </div>      
    <button type="submit" class="btn btn-success btn-lg" ng-click="showAll()" >Show all</button> 
</form> 

コントローラ。 js:

$scope.person = []; 
    // POST 
    $scope.showAll = function() { 
     for (var i=0; i < person.length; i++){ 
    console.log('person: ' + {{ $scope.person[i] }}); 

    } 
} 

答えて

1

あなたはng-ifng-hideを使用することによって入力を隠し、trueまたはfalseにそれらが使用している変数を設定することによって、showAll上でそれらを表示することができます

<div class="col-xs-2" ng-if="person.show"> 
    <input class="form-control" type="text" ng-model="person.age[$index]" required> 
</div> 

そしてshowAll中:

$scope.showAll = function() { 
    for (var i=0; i < $scope.people.length; i++) { 
     $scope.people[i].show = true; 
    } 
}; 
+0

いいえ、それはです私が探していたものではありません。 console.logは、同じボタンで保存されたすべての名前と年齢を含む新しい配列の人々からデータを取得できるかどうかを知るための方法でした。 :people.age [1]の内容を確認できません。すべての入力を同時に保存するのは正しい方法ではないようです。 これは異なるフィールドを使用する場合は簡単です。しかし、同じ分野(年齢)で...私はそれをすることはできません! – user3096769

+0

とにかく、助けてくれてありがとう、Yaser。 – user3096769

関連する問題