Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 选择角js中的多行_Angularjs - Fatal编程技术网

Angularjs 选择角js中的多行

Angularjs 选择角js中的多行,angularjs,Angularjs,我有一个有很多行的列表。我想在列表中选择多行并将其添加到另一个表中 我的代码是 <li class = "list-group-item listroleitem" ng-repeat='role in roles' ng-click="selectRow(role) " ng-class="{selectedRole: role === idSelectedRow}">{{role.roleName}}</li> 怎么做 既然您控制了选定的rows

我有一个有很多行的列表。我想在列表中选择多行并将其添加到另一个表中

我的代码是

<li class = "list-group-item listroleitem" ng-repeat='role in roles' ng-click="selectRow(role)
          " ng-class="{selectedRole: role === idSelectedRow}">{{role.roleName}}</li>

怎么做

既然您控制了选定的rows变量,为什么不将其初始化为数组呢

$scope.idSelectedRow = [];

$scope.selectRow = function(name){
     if( $scope.idSelectedRow.indexOf(name) > -1 )
        $scope.idSelectedRow.splice($scope.idSelectedRow.indexOf(name), 1);
     else
        $scope.idSelectedRow.push( name );

};
然后在css中使用:

<li class = "list-group-item listroleitem" ng-repeat='role in roles' ng-click="selectRow(role)
          " ng-class="{selectedRole: isSelected( role ) }">{{role.roleName}}</li>




$scope.isSelected = function(some_role){
          return $scope.idSelectedRow.indexOf(role) >-1;
}
  • {{role.roleName}”
  • $scope.isSelected=函数(某些角色){ 返回$scope.idSelectedRow.indexOf(角色)>-1; }
    将代码更改为

    <li class = "list-group-item listroleitem" ng-repeat='role in roles' ng-click="selectRow(role)
            " ng-class="{selectedRole: role.selected==true}">{{role.roleName}}---{{role.selected}}</li>
    
    function TodoCtrl($scope) {
        $scope.roles = [{roleName:"abc"}, {roleName:"dc"}]
        $scope.name = 'Superhero';
    
        $scope.selectRow = function(role){
            role.selected = !role.selected;
        };
    }
    
  • {{role.roleName}--{{role.selected}
  • 函数TodoCtrl($scope){ $scope.roles=[{roleName:abc},{roleName:dc}] $scope.name='Superhero'; $scope.selectRow=功能(角色){ role.selected=!role.selected; }; }

    如何取消选择?
    <li class = "list-group-item listroleitem" ng-repeat='role in roles' ng-click="selectRow(role)
            " ng-class="{selectedRole: role.selected==true}">{{role.roleName}}---{{role.selected}}</li>
    
    function TodoCtrl($scope) {
        $scope.roles = [{roleName:"abc"}, {roleName:"dc"}]
        $scope.name = 'Superhero';
    
        $scope.selectRow = function(role){
            role.selected = !role.selected;
        };
    }