このplnkrを参照してくださいhttp://plnkr.co/edit/WZHMuYY3y2wbI6UysvY6?p=preview
ラジオ ボタン グループを含む ng-repeat で ng-form タグを使用すると、ラジオ ボタンがリンクされるため、1 つの ng-repeat でラジオ ボタンをオンにすると、他のすべての ng-repeat で選択が解除されます。ng-repeat のモデルが他の項目から分離されているため、これは私を困惑させます。これは、ng-repeat を使用する場合だけの問題ではありません。また、独立したスコープを持つカスタム ディレクティブのインスタンスが複数ある場合にも発生します。
<div ng-form name="myForm">
Plnkkr でいくつかの項目を追加してみて、いくつかの項目のラジオ ボタンを確認してください。それらは独立しているべきですが、そうではありません。
これは Angular のバグですか? そうでない場合、なぜこのように機能し、どうすれば回避できますか?
<form name="mainForm" ng-submit="submitAll()">
<ul>
<li ng-repeat="item in items" ng-form="subForm">
<input type="text" required name="name" ng-model="item.name"/>
<input type="radio" name="myRadio" value="r1" ng-model="item.radio" /> r1
<input type="radio" name="myRadio" value="r2" ng-model="item.radio" /> r2
<span ng-show="subForm.name.$error.required">required</span>
<button type="button" ng-disabled="subForm.$invalid" ng-click="submitOne(item)">Submit One</button>
</li>
</ul>
<button type="submit" ng-disabled="mainForm.$invalid">Submit All</button>
</form>