我一直试图弄清楚如何设置这个特别选择:
<select name="ddlStatus" id="ddlStatus" class="form-control" ng-model="status" ng- change="onChangeStatus()">
<option ng-repeat="status in orderStatus" value="{{ status.ID }}">{{ status.Name }} </option>
</select>
我如何设置没有ng-repeat并使用ng-options进行输入?我已经尝试了很多解决方案,但没有像我上面展示的那样解决它..
答案 0 :(得分:2)
您可以将整个模型用作以下值:
<select ng-options="status.Name for status in orderStatus" ng-model="status">
</select>
这样您就可以在status.ID
上获得所选的ID。 Angular会处理为你链接东西的价值模型。
当然,id也是可能的。虽然至少对我而言似乎有点令人困惑,因为你将在生成的html中使用数组索引,并将id作为实际值。
<select ng-options="status.ID as status.Name for status in orderStatus" ng-model="status">
</select>
此外,将整个模型设为status
比使用id更有意义。
答案 1 :(得分:2)
您可以在as
中使用ng-options
:
<select ng-model="status" ng-options="status.ID as status.Name for status in orderStatus"></select>
或者,即使您指定某个子字段(如status
作为其标签),angular似乎足够聪明,可以使用整个name
对象作为值。
<select ng-model="status" ng-options="status.Name for status in orderStatus"></select>