Javascript 在AngularJS中准备多选列表时如何选择多个选项

Javascript 在AngularJS中准备多选列表时如何选择多个选项,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,我有以下选择列表: <select multiple="multiple" ng-model="userRoles" ng-options="r.id as r.name for r in roles"></select> 上面生成了所有可用角色的列表。我需要在提交表单时预先选择用户所属的角色。我可以将角色分配给userRoles,但如果我尝试创建一个数组并将与该用户关联的角色推送到该数组中,则不会选择任何项目 我创建了一个jsBin,让您可以使用不起作用的解决方案

我有以下选择列表:

<select multiple="multiple" ng-model="userRoles" ng-options="r.id as r.name for r in roles"></select>

上面生成了所有可用角色的列表。我需要在提交表单时预先选择用户所属的角色。我可以将角色分配给
userRoles
,但如果我尝试创建一个数组并将与该用户关联的角色推送到该数组中,则不会选择任何项目

我创建了一个jsBin,让您可以使用不起作用的解决方案(希望能够修复它):


谢谢

ng选项中
您正在指定
ids
作为选项的值。所以你应该:

$scope.userRoles = [
    $scope.roles[1].id,
    $scope.roles[2].id
];

您选择的值是ID,而不是完整对象

当您将r.id作为r.name时,您需要将id放入数组中,而不是放入完整的对象中


愚蠢的我-我只是在后来添加了
r.id作为
来尝试解决这个问题,并为自己制作了一个新的。doh