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;
}
});