【发布时间】:2015-01-22 20:09:00
【问题描述】:
在 HTML 表单中,我需要跟踪哪些复选框被选中,以便将其插入要发布到后端的查询对象中。
我在 $scope 的一个数组中有以下三个复选框:
$scope.typeCheckBoxes = [
{label: "A", val: true},
{label: "B", val: false},
{label: "C", val: false}
];
下面是我在表单中呈现复选框的模板:
<span ng-repeat="chk in typeCheckBoxes">
<input type="checkbox" ng-model="chk.val" id="chk.label" ng-change="addType(this)" />
<label>{{chk.label}}</label>
</span>
在我的控制器中,我尝试创建函数 addType() 以将选中的复选框添加到我的查询对象:
$scope.queryObj = {
types: []
};
$scope.addType = function(e) {
var selectedBox = angular.element(e.id); // not working
if (selectedBox) {
$scope.queryObj.types.push(selectedBox);
}
};
但是,我不确定如何获得选中复选框的id。非常感谢您的帮助。
【问题讨论】:
-
您可以利用 Angular 的两种方式绑定,您可以再次遍历
scope.typeCheckBoxes,如果 val= true 则使用该 id。
标签: javascript angularjs checkbox onchange angularjs-controller