选择ng-grid内的所有复选框

时间:2014-07-09 09:26:52

标签: javascript jquery angularjs angularjs-directive ng-grid

我找到了一些jsfiddle jquery代码,并尝试将其与我的ng-grid结合使用,以选择网格中的所有复选框。但是,它不起作用。

这是我尝试做的快速模型:

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

这是我的指示

  (function(){
     var app = angular.module('provider-selectall', []);
      app.directive('selectAll',function(){
       return{
        restrict: 'A',
        link: function(scope,element,attr){
         element.click(function() {
         $('.ngSelectionCheckbox input[type="checkbox"]').prop('checked', true);
        });
      }
    };
  });     
})();

指令激活的按钮

 <div class="btn-group">
  <button class="my-btn btn-info" select-all>Select All</button>
  </button>
</div>
我的ng-grid控制器中的东西

  var checkBoxCellTemplate = '<div class="ngSelectionCell"><input tabindex="-1" class="ngSelectionCheckbox" type="checkbox" ng-checked="row.selected" /></div>';
  $scope.gridOptions = {
  columnDefs: [
    {
      cellTemplate: checkBoxCellTemplate,
      showSelectionCheckbox: true
    },{
      field: 'name',
      displayName: 'CPT Code/Description'
    },{
      field: 'cash_price',
      displayName: 'Cash Price'
    },{
      field: 'average_price',
      displayName: 'Average Price'
    },

  ],
  data: 'provider_medical_services'

原始的jsfiddle代码:

$('#toggle-all').click(function() {
  $('.btn-group input[type="checkbox"]').prop('checked', true);
});

2 个答案:

答案 0 :(得分:1)

您需要使用:

$('.ngViewport.ng-scope input[type="checkbox"]').prop('checked', true);

答案 1 :(得分:0)

试试这个

  $('.ngSelectionCell.ng-scope input[type="checkbox"]').prop('checked', true);

Updated Link