我有一个来自数据库的数组。在我的 Controller 中,我有以下代码:
$rootScope.photobloblist=[];
angular.forEach($scope.photos, function(value3, key3) {
if(key3=="Landscape"){
$rootScope.photobloblist=[];
console.log(key3+"----"+value3.length);
angular.forEach(value3, function(value2, key2) {
for(var i = 0;i<value2.length;i++){
if(key2==Categoryname)
$rootScope.photobloblist.push(value2[i]);
console.log( $rootScope.photobloblist);
}
});
}
});
在我的 html 文件中,我有一个表和一个复选框,其中包含 item.selected 的 ng-model
<tr ng-repeat="item in photobloblist" >
<td><input type="checkbox" name="select" value="selected" ng-model="item.selected"></td>
<td>{{item}}</td>
<td><img ng-src='{{ item }}' width='150px' height='100px'></td>
</tr>
我的问题是我无法选中任何复选框,并且显示错误“无法创建在字符串上选择的属性”。我怎样才能修复这个错误。我需要使用 checkbo 来实现删除功能
最佳答案
$rootScope.photobloblist
是您尝试在输入上绑定(bind)的字符串数组,但需要一个对象/对象数组。
尝试为每个复选框创建一个对象:
if (key2 === "Categoryname") {
$rootScope.photobloblist.push({
value: value2[i],
name: value2[i]
selected: false
});
}
关于javascript - 从数组中选择复选框时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47448962/