我正在使用 Ionic Framework 和 angularjs 开发一个应用程序。这里我在 ng-repeat 中使用复选框。使用这个我可以将复选框选中的值插入到数组中。但它就像字符串一样插入。
就像 ["编码","测试"] 。
但我想要它像对象一样。
就像 ["object","object"] 。在该对象内部应该存在值。
HTML代码是
<div class="action-checkbox" ng-repeat="task in projecttasks">
<h3>{{task.projectName}}</h3>
<ul>
<li ng-repeat="subtask in task.subTasks" ng-click="addprjtaskList(task,subtask)">
<input id="{{subtask._id}}" name="{{subtask._id}}" type="checkbox" value="{{subtask.subTaskName}}" ng-checked="selection.indexOf(subtask.subTaskName) > -1" ng-click="toggleSelection(subtask.subTaskName)" class="hide"/>
<label for="{{subtask._id}}" >
{{subtask.subTaskName}}
</label>
</li>
</ul>
</div>
Controller 代码是
$scope.selection = [];
// toggle selection for a given fruit by name
$scope.toggleSelection = function toggleSelection(fruitName) {
var idx = $scope.selection.indexOf(fruitName);
// is currently selected
if (idx > -1) {
$scope.selection.splice(idx, 1);
console.log($scope.selection);
}
// is newly selected
else {
$scope.selection.push(fruitName);
console.log($scope.selection);
}
};
谁能帮我做到这一点..
最佳答案
在toggleSelection(fruitName)
你正在传递一个字符串
那么你正在做
$scope.selection.push(fruitName)
它正在做它被告知的事情!
您需要将对象传递给函数...
ng-click="toggleSelection(subtask.subTaskName)"
应该是...
ng-click="toggleSelection(subtask)"
然后...
推它!
关于javascript - 如何在angularjs中将对象插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34441036/