我有一个任务列表,其中可以单击按钮以显示每个任务的选项。弹出窗口中的一个选项是将用户分配给任务。如果有用户,如何预先选择用户?以下是相关代码:
p Assign-to:
select ng-model="user" ng-change="assignUser(task, user)" ng-options="user.id as user.firstName for user in users"
option value="" -- assign a user --
答案 0 :(得分:0)
我无法使用您拥有的方法设置所选值,但这个适用于我:
<select id="{{model.id}}" ng-model="model.answer">
<option ng-repeat="item in model.options" value="{{item.value}}"
ng-selected="{{item.value == model.defaultvalue}}"
>{{item.description}}</option>
</select>
答案 1 :(得分:0)
您可以在此处参考:http://docs.angularjs.org/api/ng.directive:select
<select ng-model="selectedUser">
<option value="">-- assign a user --</option>
<option ng-repeat="user in users" value="{{user}}"
ng-selected="{{selectedUser.id === user.id}}">
{{user.firstName}}
</option>
</select>
这是一种更简单的方法
ng-options
:首先,您需要了解javascript语言概念:
a = b = {}
a === b // true
通过赋值来引用相同的对象,它们将相等。但是:
a = {}
b = {}
a === b // false
分别分配给对象值,它们不会相等。
因此,如果要绑定模型(选定用户)和默认选项值,则必须执行以下操作:
$scope.users = [.....]
$scope.selectedUser = $scope.users[1] // assign refer to second object
然后:
<select ng-model="selectedUser" ng-options="user as user.firstName for user in users">
<option value="">-- assign a user --</option>
</select>