How to check if any Checkbox is checked in Angular

后端 未结 6 1677
伪装坚强ぢ
伪装坚强ぢ 2020-11-30 07:39

Is there any function or ng-something to check if any of the displayed Checkboxes are checked?

I have the values through the ng-click=\"function()\"

6条回答
  •  不知归路
    2020-11-30 07:54

    I've a sample for multiple data with their subnode 3 list , each list has attribute and child attribute:

    var list1 = {
        name: "Role A",
        name_selected: false,
        subs: [{
            sub: "Read",
            id: 1,
            selected: false
        }, {
            sub: "Write",
            id: 2,
            selected: false
        }, {
            sub: "Update",
            id: 3,
            selected: false
        }],
    };
    var list2 = {
        name: "Role B",
        name_selected: false,
        subs: [{
            sub: "Read",
            id: 1,
            selected: false
        }, {
            sub: "Write",
            id: 2,
            selected: false
        }],
    };
    var list3 = {
        name: "Role B",
        name_selected: false,
        subs: [{
            sub: "Read",
            id: 1,
            selected: false
        }, {
            sub: "Update",
            id: 3,
            selected: false
        }],
    };
    

    Add these to Array :

    newArr.push(list1);
    newArr.push(list2);
    newArr.push(list3);
    $scope.itemDisplayed = newArr;
    

    Show them in html:

    • {{item.name}}
    • {{sub.sub}}
  • And here is the solution to check them:

    $scope.toggleAll = function(item) {
        var toogleStatus = !item.name_selected;
        console.log(toogleStatus);
        angular.forEach(item, function() {
            angular.forEach(item.subs, function(sub) {
                sub.selected = toogleStatus;
            });
        });
    };
    
    $scope.optionToggled = function(item, subs) {
        item.name_selected = subs.every(function(itm) {
            return itm.selected;
        })
    }
    

    jsfiddle demo

提交回复
热议问题