Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 ng网格列标题中的Multiselect复选框不起作用_Angularjs_Angular Ui_Ng Grid - Fatal编程技术网

Angularjs ng网格列标题中的Multiselect复选框不起作用

Angularjs ng网格列标题中的Multiselect复选框不起作用,angularjs,angular-ui,ng-grid,Angularjs,Angular Ui,Ng Grid,我尝试在ng网格的列标题中实现一个复选框。 这样做的目的是能够选中或取消选中给定列中的所有复选框。 因为我希望将来有多个这样的列,所以我不想使用ng grid的行选择复选框功能 现在,如果您运行plunkr代码。。如果选中并取消选中行/数据部分中的复选框,则一切似乎都正常,这意味着:如果选中所有复选框,则标题中的复选框也将被选中 通过鼠标单击选中或取消选中标题中的复选框后,此操作将不再有效 复制步骤: 在plunker上运行脚本 选中网格行中的每个复选框(不是标题行中的复选框) 你会看到,标题复

我尝试在ng网格的列标题中实现一个复选框。 这样做的目的是能够选中或取消选中给定列中的所有复选框。 因为我希望将来有多个这样的列,所以我不想使用ng grid的行选择复选框功能

现在,如果您运行plunkr代码。。如果选中并取消选中行/数据部分中的复选框,则一切似乎都正常,这意味着:如果选中所有复选框,则标题中的复选框也将被选中

通过鼠标单击选中或取消选中标题中的复选框后,此操作将不再有效

复制步骤:

  • 在plunker上运行脚本
  • 选中网格行中的每个复选框(不是标题行中的复选框)
  • 你会看到,标题复选框将被自动选中(这就是我想要的)
  • 通过单击标题中的复选框,取消选中所有复选框
  • 重复步骤2,结果将不同(如步骤3)
  • 有人能解释一下这是怎么回事吗?也许我做错了,也许是虫子

    var-app=angular.module('plunker',['ngGrid']);
    应用程序控制器('MainCtrl',函数($scope){
    $scope.gridData=[
    {
    “id”:0,
    “检查者”:错误
    }, {
    “id”:1,
    “检查者”:正确
    }, {
    “id”:2,
    “检查者”:正确
    }
    ];
    $scope.columnDefs=[{
    字段:“检查器”,
    displayName:“检查程序”,
    headerCellTemplate:“\
    \
    {{col.displayName}}\
    \
    \
    ",
    单元模板:“\
    \
    "
    }];
    $scope.gridOptions={
    数据:“gridData”,
    enableCellSelection:false,
    enableRowSelection:false,
    columnDefs:“columnDefs”
    };
    $scope.toggleCheckerAll=函数(已选中){
    对于(变量i=0;i<$scope.gridData.length;i++){
    $scope.gridData[i].checker=checked;
    }
    };
    $scope.toggleChecker=函数(已选中){
    var rows=$scope.gridOptions.$gridScope.renderrows,
    allChecked=true;
    对于(var r=0;r
    我想这就是你想要的:

    你有点问题。我将checker设置为对象,以便在更改值时,模型不会断开连接

      <input type=\"checkbox\" ng-model=\"checker.checked\" ng-change=\"toggleCheckerAll(checker.checked);\"> \
    
    请参阅此视频以了解详细说明:

    我对网格的了解还不够,不知道为什么,但如果你打印出“checker”值,你可以看到点击它并没有改变它的值。就像它没有被正确地绑定一样。很抱歉,我无法解释为什么会这样,但也许你可以从那里开始。没错,但我真的没有找到如何使装订工作…酷,那工作。非常感谢,也谢谢你的视频。非常有趣!
      <input type=\"checkbox\" ng-model=\"checker.checked\" ng-change=\"toggleCheckerAll(checker.checked);\"> \
    
     if (!$scope.gridOptions.$gridScope.checker)
          $scope.gridOptions.$gridScope.checker = {};
    
        $scope.gridOptions.$gridScope.checker.checked = allChecked;