我正在为一个应用程序使用 ionic 框架和 angularjs。我在 ng-repeat 中使用复选框。问题是,如果我选中该复选框,它就会被添加到数组中。如果我取消选中它不会从该数组中删除。
html代码是
<div class="action-checkbox" ng-repeat="task in alltasks">
<h3>{{task.taskName}}</h3>
<ul>
<li ng-repeat="subtask in task.subTasks" ng-click="addList(task,subtask)">
<input id="{{task._id}}_{{subtask._id}}" name="{{task._id}}_{{subtask._id}}" type="checkbox" value="{{subtask.subTaskName}}" ng-checked="subtask.checked" ng-model="slectedTasks" class="hide"/>
<label for="{{task._id}}_{{subtask._id}}" >
{{subtask.subTaskName}}
</label>
</li>
</ul>
</div>
我的 Controller 代码是
$scope.addList = function(task,subtask){
subtask.checked= !(subtask.checked);
var data = {
"task_id": task._id,
"subTaskName": subtask.subTaskName,
};
if(subtask.checked){
selectedMap.push(data);
}
}
谁能帮我解决这个问题..
最佳答案
添加代码也可以删除元素。
if(subtask.checked == false){
for(var i = selectedMap.length - 1; i >= 0; i--) {
if(selectedMap[i] === data) {
selectedMap.splice(i, 1);
}
}
}
关于javascript - 如何在 angularjs 的 ng-repeat 中正确使用复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34391211/