Javascript 如何在AngularJs中获取ng模型集合复选框?

Javascript 如何在AngularJs中获取ng模型集合复选框?,javascript,angularjs,checkbox,ionic,Javascript,Angularjs,Checkbox,Ionic,以下是我的数据: var fields = [ {id: 1, name: 'Model'}, {id: 2, name: 'Price'}, {id: 3, name: 'Condition'}, {id: 4, name: 'Ads Type'} ]; 以下是我的查看代码: <ion-checkbox ng-repeat="field in fields" ng-model="field.id" ng-ch

以下是我的数据:

var fields = [
  {id: 1, name: 'Model'},
  {id: 2, name: 'Price'},
  {id: 3, name: 'Condition'},
  {id: 4, name: 'Ads Type'}
];
以下是我的查看代码:

 <ion-checkbox ng-repeat="field in fields"
               ng-model="field.id"
               ng-checked="field.id">
               {{ field.name }}
 </ion-checkbox>
 <button class="button button-positive" ng-click="updateField()">
    Update SubCategory Field
 </button>

我试过这个:

console.log($scope.field.id);
错误通过了吗

Cannot read property 'id' of undefined
任何帮助都将不胜感激

干杯

HTML

<!DOCTYPE html>
<html ng-app="app">

<head>
  <script   src="https://code.angularjs.org/1.3.9/angular.js"></script>
  <link rel="stylesheet" href="style.css" />
  <script src="script.js"></script>
</head>

<body>
  <h1>Hello Plunker!</h1>
  <div ng-controller="ctrl ">

   <input type="checkbox" ng-repeat="field in fields"
               ng-model="field.checked"
               ng-checked="field.checked">
               {{ field.name }} 
 </input>
 <button class="button button-positive" ng-click="updateField()">
    Update SubCategory Field
 </button>


          {{ selectedItems  | json }} 
  </div>
</body>

</html>

你好,普朗克!
{{field.name}
更新子类别字段
{{selectedItems | json}}
JS

var app = angular.module("app", [])

app.controller('ctrl', function($filter, $scope){

 $scope.fields = [
  {id: 1, name: 'Model'},
  {id: 2, name: 'Price'},
  {id: 3, name: 'Condition'},
  {id: 4, name: 'Ads Type'}
];

$scope.updateField = function(){

    var p = [];
    for (var i = 0; i < $scope.fields.length; i++) {
       var item = $scope.fields[i];
       if ( item.checked) {
        p.push(item )  
       }

    }

    $scope.selectedItems = p;
}

});
var-app=angular.module(“app”,[])
应用程序控制器('ctrl',函数($filter,$scope){
$scope.fields=[
{id:1,名称:'Model'},
{id:2,名称:'Price'},
{id:3,名称:'条件'},
{id:4,名称:'Ads Type'}
];
$scope.updateField=函数(){
var p=[];
对于(变量i=0;i<$scope.fields.length;i++){
变量项=$scope.fields[i];
如果(选中项){
p、 推送(项目)
}
}
$scope.selectedItems=p;
}
});

您将console.log语句放在哪里?您不应该使用
var fields=[…]
而是
$scope.fields=[…]
。然后访问字段,如
$scope.fields[INDEX]。选中了
。我已将控制台日志放在函数中,它只是一个示例数组,这就是为什么要将其填充到复选框中。我只想在单击按钮后检索它。使用“field.id”而不是“ng model=”field.checked“映射ng模型在您的“字段”中不应该有“checked”属性吗?谢谢,我很嫉妒现在不是一个伟大的程序员。
var app = angular.module("app", [])

app.controller('ctrl', function($filter, $scope){

 $scope.fields = [
  {id: 1, name: 'Model'},
  {id: 2, name: 'Price'},
  {id: 3, name: 'Condition'},
  {id: 4, name: 'Ads Type'}
];

$scope.updateField = function(){

    var p = [];
    for (var i = 0; i < $scope.fields.length; i++) {
       var item = $scope.fields[i];
       if ( item.checked) {
        p.push(item )  
       }

    }

    $scope.selectedItems = p;
}

});