选择框中的ng模型工作不正常



我正在使用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文件中的声明

最新更新