我使用.push()创建了“List”输入检查数组,用于发布REST API。但这似乎不对。
取消选中时,数组中的项目不会自动删除。任何人都有更好的解决方案,请帮助我! TKS
答案 0 :(得分:1)
你可以这样做......它有效。不能说这是最好的解决方案
$scope.$watch('lists', function(lists){
$scope.count = 0;
angular.forEach(lists, function(list){
if(list.checked){
$scope.count += 1;
if (inputsList.indexOf(list.id) == -1) {
inputsList.push(list.id);
};
} else {
inputsList.pop(list.id);
}
})
}, true);
相同的逻辑,但是,修改了lil
index.html(添加了ng-click)
<input type="checkbox" name="list_id[]" ng-model="list.checked" value="{{list.id}}" ng-click='updateItem(list)' />
app.js(已删除$ scope。$ watch和...)
$scope.currentSelectedItem = [];
$scope.updateItem = function(item) {
if(item.checked) {
$scope.currentSelectedItem.push(item);
} else {
$scope.currentSelectedItem.pop(item);
}
}