2017-08-15 10 views
0

ループ内にコメント入力があるng-repeatがあります。 ng-model = "comss.comment"の場合、最初の入力で入力を開始すると、2番目の入力と他のすべての入力に入力が表示されます。どうすればこれをやめることができますか?私は一意のIDで名前を追加しようとしましたが、うまくいきませんでした。ng-repeat入力は各ループで同じ値を維持します

<li class="item" style="margin-top:20px;" ng-repeat="schedule in discoverloaded | filter:scheduleSearch | limitTo:numberOfItemsToDisplay"> 
 

 
<input type="text" ng-model="comss.comment" required='required' placeholder="Write a comment.."> 
 

 
</li>

+0

私たちにフィドルを提供してください。 –

答えて

1

あなたは同じモデルであることを行っている各ループ用comss.commentにアクセスし、ループにいるので、あなたはあなたを変更する必要があります。ここでは

は私のコードですテンプレートとモデルはわずかです:

<li class="item" style="margin-top:20px;" 
    ng-repeat="schedule in discoverloaded | filter:scheduleSearch | limitTo:numberOfItemsToDisplay track by $index"> 

    <input type="text" ng-model="comss[$index].comment" 
    required='required' placeholder="Write a comment.."> 

</li> 

コントローラでは、それはより大きなオブジェクトになります。したがって、2つのアイテムのループが検出されると、あなたはときにループの中にいるようあなたがcomss [$インデックス] .commentを使用する理由であるあなたがcomss.0.comment経由でアクセスすることはできませんテンプレートでは、

comss = { 
    0: { 
    comment: '' 
    }, 
    1: { 
    comment: '' 
    } 
}; 

:LD comssでこれを持っていますモデルを割り当てます。

+0

コントローラの値にはどうすればアクセスできますか?または、それはちょうど普通のようになりますか?comss.comment - 私は未定義のままです。var – SARUAV

+0

私は理由を示す答えを更新しました。 – rrd

関連する問題