一开始我试过了<select name='size' ng-model='sid' ng-options='y.id as y.title for y in arr'>
。但是当表单提交时,发布的变量size
不是 id472 473 474
而是 index 0 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>