【问题标题】:how to get selected row data AngularJS如何获取选定的行数据AngularJS
【发布时间】:2016-06-21 12:19:36
【问题描述】:

我正在尝试从 AngularJS 中的表中获取选定的行,但无法弄清楚如何做到这一点。下面是看看我做了什么。

http://plnkr.co/edit/APb0MeK5th7z79l32SEy?p=preview

代码HTML

 <body ng-controller="MainCtrl">

<table>
<tr><td>Select Column</td><td>id</td> <td>name</td> <td>address</td> <td>classA</td> <td>classB</td></tr>  
<tr ng-repeat="employee in employees">
    <td><input type="checkbox"></td>
    <td>{{employee.id}}</td>
    <td>{{employee.name}}</td>
    <td>{{employee.address}}</td>
    <td><input type="checkbox" ng-model="employee.classA"></td>
    <td><input type="checkbox" ng-model="employee.classB"></td>
</tr>
</table>
<input type="button" name="save" value="submit">

代码 JS

 var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {




    $scope.employees = [
        { id:"1", name: "A",              address: "A1",    classA: true,  classB: true  },
        { id:"2", name: "B",            address: "A2",    classA: false, classB: true  },
        { id:"3", name: "C",            address: "A3",    classA: true, classB: false  },
        { id:"4", name: "D",             address: "A4",   classA: false, classB: true  },
        { id:"5", name: "E",             address: "A5",   classA: false, classB: true  },
    ];  

    });

我想要用户在点击提交时从左列复选框中选择的行。

感谢您的帮助。

【问题讨论】:

    标签: angularjs checkbox angularjs-ng-repeat


    【解决方案1】:

    检查plunker here

    <td><input type="checkbox"
           ng-model="employee.checked"
           ng-true-value="1" 
           ng-false-value="0"></td>
    

    ...

    <button ng-click="getSelected()">getSelected</button>
    

    ...

    $scope.getSelected = function () {
      var ar = $scope.employees.filter(
        function (value) {
          if (value.checked == 1) {
            return true;
          } else {
            return false;
          }
        }
        );
    
      console.log(ar);
    };
    

    【讨论】:

      【解决方案2】:

      您应该将此复选框绑定到模型,就像您对 classA 和 classB 所做的那样。

      例如:

      <td><input type="checkbox" ng-model=employee.selected></td>
      

      【讨论】:

      • 绑定复选框后我该怎么办?我需要循环吗?我只想要选定的员工,比如我选择 1 和 3。
      猜你喜欢
      • 1970-01-01
      • 2017-01-30
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多