Angularjs ui-grid通过选中/取消选中复选框来过滤项目

时间:2015-10-08 07:08:53

标签: angularjs angular-ui-grid

我正在使用ui-grid进行测试。我在每一行添加了一个复选框,并在标题上添加了一个选择。

HTML

<!doctype html>
<html ng-app="app">
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-touch.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-animate.js"></script>
    <script src="http://ui-grid.info/docs/grunt-scripts/csv.js"></script>
    <script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script>
    <script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script>
    <script src="http://ui-grid.info/release/ui-grid.js"></script>
    <script src="main.js"></script>
    <link rel="stylesheet" href="http://ui-grid.info/release/ui-grid.css" type="text/css">
  </head>
  <body>

    <div ng-controller="MainCtrl">
      <div ui-grid="gridOptions" class="grid"></div>
    </div>

  </body>
</html>

JS

var app = angular.module('app', ['ngAnimate', 'ngTouch', 'ui.grid']);

app.controller('MainCtrl', ['$scope', 'uiGridConstants', function ($scope, uiGridConstants) {
  $scope.gridOptions = {
  enableFiltering: true,
  columnDefs: [
      {
        name: 'Items',
        filter: {
          type: uiGridConstants.filter.SELECT,
          selectOptions: [
            {value: '0', label: 'Unselect'},
            {value: '1', label: 'Selected'}
          ]
        },
        cellTemplate: '<input type="checkbox" name="select_item"/>'
      },
      {
        name: 'Name',
        field: 'name'
      },
      {
        name: 'Age',
        field: 'age'
      }
    ]
  };

  $scope.gridOptions.data = [
    { name: 'User 1', age: 20},
    { name: 'User 2', age: 30},
    { name: 'User 3', age: 40}
  ];
}]);

这是结果

enter image description here

那么如何通过选中/取消选中复选框来过滤项目?我只想使用过滤器查看所有已检查或未检查的项目。

0 个答案:

没有答案