IDと国コードが添付された国のリストを含むjsonを設定しました。
次のようになります。
$scope.countries = [
{"name":"Afghanistan","id":"AFG","country-code":"004"},
{"name":"Åland Islands","id":"ALA","country-code":"248"},
{"name":"Albania","id":"ALB","country-code":"008"},
{"name":"Algeria","id":"DZA","country-code":"012"}
]
次に、ng-repeat
ディレクティブを使用して、すべての国のチェックボックス入力を作成します。
<div ng-repeat="country in countries">
<label><input type="checkbox" ng-model="{{country.id}}" ng-true-value="'{{country.name}}'" ng-false-value="''">{{country.name}}</label>
</div>
ただし、コードを実行すると、次の情報しか表示されません。
ここに場所のチェックボックス{{country.name}}
繰り返しのng-model
の部分を削除すると、チェックボックスは正常に生成されますが、すべてのチェックボックスに固有のng-model
をアタッチする必要があります
ng-model="{{country.id}}"
一意のng-model
値を添付するにはどうすればよいですか?
この回答( Generate ng-model inside ng-repeat )は一意のng-model
値を提供しません
提案しますse:
<div ng-repeat="country in countries">
<label><input type="checkbox" ng-model="myCountry.selected[country.id]" ng-true-value="'{{country.name}}'" ng-false-value="''">{{country.name}}</label>
</div>
</div>
{{myCountry.selected}}
JS:
$scope.myCountry = {
selected:{}
};