我关注了这篇文章:How do I bind to list of checkbox values with AngularJS?
从复选框列表中检索数据并将其作为 Json 传递。
我的代码是这样的:
<span ng-repeat="b in neighborhood">
<input id="{{b.Id}}" class="checkcheck" type="checkbox" ng-model="b.checked" ng-change="selection.indexOf(b) > -1"
ng-click="toggleSelection(b)">
{{ b.Name }}
这是我的 Controller 代码:
$scope.toggleSelection = function toggleSelection(b) {
var idx = $scope.selection.indexOf(b);
if (idx > -1) {
$scope.selection.splice(idx, 1);
}
else {
$scope.selection.push(b);
}
console.log($scope.selection);
ProgramsWS.GetByNeighborhood({ neighborhoodList: $scope.selection }, function (resp) {
console.log(resp);
})
};
问题是,在最终的 json 中,我得到如下内容:
0 b { Name="Name1", Id=51, checked=true, more...}
1 b { Name="Name2", Id=43, checked=true, more...}
问题是: Web 服务无法识别在所有此过程中添加的“已检查”。我怎样才能删除它?
最佳答案
您可以使用delete
关键字从对象中删除属性。例如,给定以下对象:
var b = { Name:"Name1", Id:51, checked:true };
删除checked
属性:
delete b.checked;
这会产生以下对象:
{ Name:"Name1", Id:51 }
fiddle :http://jsfiddle.net/t0upqxvt/
关于javascript - 从 json 中删除 "checked",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25490731/