ng-select:获取所选对象,按Id预选

时间:2014-07-15 22:44:15

标签: angularjs

我有一个用户列表(对象数组)

  1. 我需要$scope.owner中的所选用户才能在其他地方使用。
  2. 我需要通过Id预先选择用户,并使用正确的对象值进行$scope.owner更新(例如user.Email,user.Address)。
  3. $scope.item.UserId需要根据所选用户进行更改。
  4. 这是我到目前为止所做的:

    <select
        ng-model="owner"
        ng-change="item.UserId=owner.Id"
        ng-options="user as user.Company + ' - ' + user.FirstName + ' ' + user.LastName for user in users track by user.Id">
    </select>
    

    目前 1。 3。工作,但当我预先选择使用时:

    $scope.owner = { Id: 1 };
    

    然后我显然没有users的所有值,例如user.Email

    有人有想法或建议吗?

    谢谢,Lex

1 个答案:

答案 0 :(得分:1)

如果你使用$ scope.owner = {Id:1},即使它具有相同的Id,它也是不同的实例,然后在ng-options中迭代时创建一个。

当您获得用户列表时,为什么不设置

$scope.owner = $scope.users[0]  
// or if you need to get by id just use 
$scope.owner = $scope.users.filter(...)[0]

这是样本plunker。 http://plnkr.co/edit/5VZbdmBmtaDpkeLYQwft?p=preview