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

y53ybaqx  于 2023-05-28  发布在  Angular
关注(0)|答案(4)|浏览(164)

我使用angular js来绘制选择框。

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

此处,所选默认值未根据值selected进行初始化。
已针对该问题制作了fiddle

mo49yndu

mo49yndu1#

你应该使用ngOptions指令来呈现selectbox选项:

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

固定demo:http://jsfiddle.net/qWzTb/1984/

t1rydlwq

t1rydlwq2#

在此柱塞中更新了情况2
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>
wn9m85ua

wn9m85ua3#

只需在选项标签中添加ng-selected=“selected == obj.id“即可

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

hiz5n14c4#

正确的方法应该是:

<select id="select-type-basic" [(ngModel)]="status">
    <option *ngFor="let status_item of status_values">
    {{status_item}}
    </option>
</select>

值应避免在选项内,因为这将设置“选择字段”的默认值。Default Selection应该与[(ngModel)]绑定,Options应该以同样的方式声明。

status : any = "Completed";
status_values: any = ["In Progress", "Completed", "Closed"];

.ts文件中的声明

相关问题