繁体   English   中英

从列表中渲染输入中的特定元素-AngularJS

[英]Render specific element in input from a list - AngularJS

我正在渲染选择选项,如下所示:

<select ng-model="curUserId" ng-options="u.id as u.name for u in users"></select>  

在控制器代码中:

$scope.users = [{"id":1, "name":"abc"}, {"id":2, "name":"def"}, ...]  
$scope.curUserId = 2;  //Selected User

这将加载具有用户def选择框,作为ng-model拥有curUserId值的选定用户。
我需要在输入框中显示相同的内容,其中一种方法是将范围变量分配给输入框,然后在控制器中遍历用户列表并获取选定的用户。

for(var i=0;i<$scope.users.length){
    if($scope.users[i] == $scope.curUserId)
    {
        $scope.selUser = $scope.users[i].name;
        break;
    }
}  

还有什么其他方法可以让我在AngularJS中获得selUser而不是遍历列表。
谢谢!

您可以绑定到模型而不是ID:

<select ng-model="curUser" ng-options="u as u.name for u in users track by u.id"></select> 

在控制器代码中:

$scope.users = [{"id":1, "name":"abc"}, {"id":2, "name":"def"}, ...]  
// coming from server
$scope.curUser = {"id":2, "name":"def"};  //Selected User

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM