我正在使用angular js绘制选择框。
<select ng-model="selected">
<option value="{{obj.id}}" ng-repeat="obj in values">{{obj.name}} </option>
</select>
selected id - {{selected}}
此处,默认选择的值不会根据值selected
进行初始化。
已经解决了这个问题。
您应该使用ngOptions
指令来呈现selectbox选项:
<select ng-model="selected" ng-options="obj.id as obj.name for obj in values"></select>
固定演示:http://jsfiddle.net/qWzTb/1984/
案例2在这个plunker 中更新
http://jsfiddle.net/26yjn8ru/
<div ng-repeat="arr in itr">
<select ng-model="arr.id"
ng-options="value.id as value.name for value in values">
</select>
只需在选项标签中添加ng selected="selected==obj.id"
<option value="{{obj.id}}" ng-repeat="obj in values" ng-selected="selected == obj.id" >
{{obj.name}}
</option>
正确的方式应该是:
<select id="select-type-basic" [(ngModel)]="status">
<option *ngFor="let status_item of status_values">
{{status_item}}
</option>
</select>
应避免在选项中使用值,因为这将设置"选择字段"的默认值。默认选择应与[(ngModel)]绑定,选项也应同样声明。
status : any = "Completed";
status_values: any = ["In Progress", "Completed", "Closed"];
.ts文件中的声明