离子复选框检查是否选中了复选框

时间:2015-09-30 11:05:18

标签: angularjs angularjs-directive ionic-framework ionic

我使用下面的离子复选框是html

   <ion-checkbox ng-repeat="ao in q.AnswerOptions"
              name="cb" ng-click="setAnswerOptionSelected(q.Id,ao.Id)">
    {{ao.Text}}
</ion-checkbox>

在我的控制器中,我需要确定是否选中了复选框。我不能使用ng-model方法来发现是为我的ao说添加属性

IsSelected

并在我的复选框中使用它。

ng-model="ao.IsSelected"

我能否找到离子复选框的状态,即是否在控制器方法中检查它是否与上述代码中一样。

基本上在调用setAnswerOptionSelected方法时,我应该能够传递当前离子复选框,然后检查它是否被检查。 ?

  

setAnswerOptionSelected

3 个答案:

答案 0 :(得分:8)

我能够通过在ng-init上声明一个虚拟模型并将变量的值作为参数传递给ng-click方法来找到解决方案。

<ion-checkbox ng-repeat="ao in q.AnswerOptions"
              name="cb" ng-change="setAnswerOptionSelected(qg.Id,q.Id,ao.Id,checkStatus)"
              ng-init='checkStatus=false'
              ng-model="checkStatus">
    {{ao.Text}}
</ion-checkbox>

从帖子中找到解决方案

  

How to check if any Checkbox is checked in Angular

答案 1 :(得分:2)

我有复选框列表,我可以使用下面的代码从该列表中选择复选框列表,这是混合堆栈溢出的2个答案:

HTML:

<ion-checkbox ng-model="isChecked" ng-repeat="asset in assets" ng-change="checkedOrNot(asset, isChecked, $index)" ng-init='isChecked=false'>
</ion-checkbox>

JS:

$scope.isChecked = false;
    $scope.selected = [];
    $scope.checkedOrNot = function (asset, isChecked, index) {
        if (isChecked) {
            $scope.selected.push(asset);
        } else {
            var _index = $scope.selected.indexOf(asset);
            $scope.selected.splice(_index, 1);
        }
    }; 

答案 2 :(得分:0)

这么简单的事情怎么样?

<ion-checkbox class="item-checkbox-right checkbox-energized item" 
    style="border:0;" 
    ng-model="check"
    ng-change="printCheck(check)">
    Check me out yo!
</ion-checkbox>

和js

 $scope.printCheck = function(check) {
        console.log(check);
 }