Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否使用数组中的内容预填充复选框?_Javascript_Angularjs_Checkbox_Angularjs Directive_Angularjs Scope - Fatal编程技术网

Javascript 是否使用数组中的内容预填充复选框?

Javascript 是否使用数组中的内容预填充复选框?,javascript,angularjs,checkbox,angularjs-directive,angularjs-scope,Javascript,Angularjs,Checkbox,Angularjs Directive,Angularjs Scope,我有一个复选框,它在ng click上调用一个函数,该函数插入到checkedItems数组中 如何使用checkedItemsarray中的元素预填充此复选框 以下是我的设置中的相关片段: {{c}} $scope.c_list_selected=[] $scope.checkSelection=功能(项){ 如果($scope.c\u list\u selected.indexOf(item)=-1){ $scope.c_list_selected.push(项目); }否则{ $sco

我有一个复选框,它在
ng click
上调用一个函数,该函数插入到
checkedItems
数组中

如何使用
checkedItems
array中的元素预填充此复选框

以下是我的设置中的相关片段:


{{c}}
$scope.c_list_selected=[]
$scope.checkSelection=功能(项){
如果($scope.c\u list\u selected.indexOf(item)=-1){
$scope.c_list_selected.push(项目);
}否则{
$scope.c_list_selected.splice($scope.c_list_selected.lastIndexOf(项目),1);
}
}

我尝试了
ng bind
ng model
和一些不同的
ng checked
表达式。没有起作用。

复选框绑定到布尔值。您必须构建
checkedItems
数组的映射(也称为集合),如下所示:

$scope.checkedItemsSet={};
c\u列表\u已选择。forEach(功能(项目){
$scope.checkedItemsSet[item]=true;//再次填充
});
$scope.$watch(
“checkedItemsSet”,
函数(newV){
变量k,v;
copy([],c_list_selected);//清空列表
对于(k in newV){//再次填充映射的truey属性
v=新值[k];
如果(v){
c_list_selected.push(parseInt(k));//属性名实际上是字符串
}
}
},
true//按内容而不是按对象ID检查更改。
);
然后将每个复选框绑定到集合中的相应项

<input type="checkbox" ng-model="$scope.checkedItemsSet[c]"/>


您想为checkedItems数组中的每个值预先填充DOM复选框吗?是的。基本上,如果我选中了选项
[5,'a','b',6]
,并选择了默认的
c_列表=[5,'b']
;然后我希望在复选框中选择
[5,'b']
值。