我使用 .push() 创建“List”输入检查数组以发布 REST API。但好像不太对劲。
取消选中时,数组中的项目不会自动删除。谁有更好的解决方案,请帮助我!谢谢
最佳答案
你可以这样做...它有效。但不能说这是最好的解决方案
$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);
相同的逻辑,但是修改了一点
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);
}
}
关于javascript - 创建列表输入检查数组以发布 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120107/