最初に試してみ<select name='size' ng-model='sid' ng-options='y.id as y.title for y in arr'>
ました。しかし、フォームが送信されたとき、posted 変数size
は id472 473 474
ではなく index0 1 2
です。
それから私は試しng-options='y.title for y in arr track by y.id'
ました。しかし、選択されたモデルsid
はそうではありません473
が{"id":473,"title":"bb"}
、その 473 項目を でデフォルトにすることはできませんng-init='sid = 473'
。
最後に、option ng-repeat='y in arr'
以下のように使用する必要があります。しかし、オプションが繰り返される前に初期化されるため、ng-initは役に立たないようです。どうすればそれを機能させることができますか?
ありがとう。
<div ng-controller="Ctrl">
<select ng-model='sid' ng-init='sid = 473'>
<option ng-repeat='y in arr' value='{{ y.id }}'>
{{ y.id+' - '+y.title }}
</option>
</select>
{{ sid }}
<button ng-click='sid=474'>change to 474</button>
</div>
<script>
var app =angular.module('app', []);
function Ctrl($scope){
$scope.arr = [{"id":472,"title":"aa"},{"id":473,"title":"bb"},{"id":474,"title":"cc"}];
}
</script>