这是一个 AngularJS 问题;我有一个简单的表格:
<input type="text" class="form-control" id="qus" placeholder="Enter Question" ng-model="qus">
<input type="text" class="form-control" id="op1" placeholder="Option 1" ng-model="op1">
<label><input type="checkbox" ng-model="correct1">Correct</label>
<button class="form-control btn btn-primary" ng-click = "save()">Save</button>
<pre ng-bind="dataShow"></pre>
脚本:
var app = angular.module('qApp', []);
app.controller('qCtrl', function($scope) {
var set = [];
var op1 = [];
$scope.save = function (){
if($scope.correct1!==true){$scope.correct1=false;}
op1.push($scope.op1, $scope.correct1);
var qus = [$scope.qus, op1];
set.push(qus);
$scope.dataShow = JSON.stringify(set);
};
});
输出:
在对第一个条目使用 JSON.stringify
后,输出如下所示:
[
["q1",["o1",false]]
]
第二个条目的输出是:
[
["q1", ["o1",false,"o2",true]],
["q2", ["o1",false,"o2",true]]
]
但我想要这样的东西:
[
["q1", ["o1",false,]],
["q2", ["o2",true]]
]
该怎么做? true
/false
是复选框的值。
最佳答案
@Nagesh Sanika 是正确的。每个问题都会有一个选项列表。因此,每次将新问题添加到集合中时,您都可以创建选项数组。
var app = angular.module('qApp', []);
app.controller('qCtrl', function($scope) {
var set = [];
$scope.save = function (){
var op1 = []; // Moved it inside the save method
if($scope.correct1!==true){$scope.correct1=false;}
op1.push($scope.op1, $scope.correct1);
var qus = [$scope.qus, op1];
set.push(qus);
$scope.dataShow = JSON.stringify(set);
};
});
这是 plunker .
关于javascript - AngularJS json多维数组看起来不像它应该的那样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32436972/