选择框中的ng-model无法正常工作

时间:2015-02-13 10:14:17

标签: javascript angularjs angular-ngmodel

我使用角度js来绘制选择框。

 <select ng-model="selected">
     <option value="{{obj.id}}" ng-repeat="obj in values">{{obj.name}} </option>
 </select>
 selected id - {{selected}} 

此处未根据值selected初始化所选的默认值。

为此问题制作了fiddle

4 个答案:

答案 0 :(得分:6)

您应该使用ngOptions指令来呈现选择框选项:

<select ng-model="selected" ng-options="obj.id as obj.name for obj in values"></select>

修正演示: http://jsfiddle.net/qWzTb/1984/

答案 1 :(得分:1)

案例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>

答案 2 :(得分:0)

只需在选项标签

中添加ng-selected =“selected == obj.id”即可
<option value="{{obj.id}}" ng-repeat="obj in values" ng-selected="selected == obj.id" > 
{{obj.name}} 
</option>

答案 3 :(得分:0)

正确的方式将是:

<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文件中的声明