我使用下面的离子复选框是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
答案 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>
从帖子中找到解决方案
答案 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);
}