从表单中的复选框中获取所选数据

时间:2014-03-04 09:57:47

标签: javascript forms angularjs checkbox

我有一个包含多个复选框的表单,其中我使用ng-repeat显示来自JSON文件的复选框数据。现在,当我提交表单时,我想从复选框中获取已检查的数据。提交表单后如何访问已检查的数据? 我做了一些研究,现在我可以使用ng-model="s.checked"在页面上显示已检查的数据,但是如何在控制器端访问已检查的数据。

有关详细信息,请参阅此Plunk

2 个答案:

答案 0 :(得分:0)

提交时$scope.List的结构没有改变,它仍然是一个对象数组。你可以做点什么

$scope.submit = function() {
    var checkedItems = $scope.List.filter(function(item){
        return item.checked;
    });
    console.log(checkedItems);
};

List项的值已更改。

(另外,使用ngSubmit

通常是个好主意

答案 1 :(得分:0)

您有多个对象:

$scope.list = [
{"ID":5000,"Name":"ABC",checked:true},
{"ID":5001,"Name":"DEF",checked:false},
{"ID":5002,"Name":"XYZ",checked:false}];

因此您可以访问已检查属性的值,如下所示:

$scope.submit = function() {
    var val1 = $scope.list[0].checked;
    var val2 = $scope.list[1].checked;
    var val3 = $scope.list[2].checked;
}

或者使用forEach声明:

$scope.submit = function() {
    angular.forEach($scope.list, function (listValue) {
       var val = listValue.checked;
    });
}