gpt4 book ai didi

javascript - 获取数组中选定的复选框值

转载 作者:行者123 更新时间:2023-11-28 19:40:22 26 4
gpt4 key购买 nike

我已经创建了一个 Angular 应用程序,用于获取所有检查到数组中的复选框值,没有任何循环,但是在同时检查和取消检查之后,我在数组中得到了错误的数据

<强> Working Demo

任何人都可以给我一些解决方案

var app = angular.module('checkbox', []);

app.controller('homeCtrl', function ($scope) {
$scope.selected = [];
$scope.array_ = angular.copy($scope.array);
$scope.list = [{
"id": 1,
"value": "apple",
"checked": false
}, {
"id": 3,
"value": "orange",
"checked": false
}, {
"id": 5,
"value": "pear",
"checked": false
}];
$scope.checkedOrNot = function (id, isChecked, index) {
if (isChecked) {
$scope.selected.push(id);
} else {
$scope.selected.splice(index, 1);
}
}
});

最佳答案

请参阅此处http://jsfiddle.net/7L6beac6/2/

您需要在选定数组中找到复​​选框的索引,并使用该索引而不是收割机内复选框的索引将其删除

var app = angular.module('checkbox', []);

app.controller('homeCtrl', function ($scope) {
$scope.selected = [];
$scope.array_ = angular.copy($scope.array);
$scope.list = [{
"id": 1,
"value": "apple",
"checked": false
}, {
"id": 3,
"value": "orange",
"checked": false
}, {
"id": 5,
"value": "pear",
"checked": false
}];
$scope.checkedOrNot = function (id, isChecked, index) {
console.log("index:" + index + " " + isChecked);

if (isChecked) {
$scope.selected.push(id);
} else {
var _index = $scope.selected.indexOf(id);
$scope.selected.splice(_index, 1);
}
};
});

关于javascript - 获取数组中选定的复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25202105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com