我试图基于条件标志动态显示带有标签的复选框。 标签值如下:
$scope.listA = [
{
name : "Sample 1"
},
{
name : "Sample 2"
}
];
$scope.listB = [
{
name : "Result 1"
},
{
name : "Result 2"
},
{
name : "Result 3"
}
];
这是我正在使用的HTML。
<input type="checkbox" ng-repeat="item in listA"/>{{item.name}}
我有一个变量,我需要显示$ scope.listA或$ scope.listB。
var mode = "A";
如果mode = A,那么我需要将listA显示为复选框标签。如果还有其他什么,那么我需要将listB显示为复选框标签。
我怎么能这样做?如何在默认情况下选中复选框?
答案 0 :(得分:1)
尝试使用函数返回要显示的值而不是直接返回列表。喜欢这个
<input type="checkbox" ng-repeat="item in whichItems()"/>
$scope.whichItems = function() {
var ret = listA;
if($scope.mode != 'A') {
ret = listB;
}
return ret;
};
编辑:绑定到数组 您必须在数据结构中具有共同的值并绑定到该数据结构。例如:
var mydata = [{itemLabel:'item1',selected:false}, {itemLabel:'item2', selected:false}]
然后在您拥有的复选框中
<div ng-repeat="item in whichItems()">
<input type="checkbox" ng-model="item.selected">{{item.itemLabel}}
</div>
答案 1 :(得分:0)
斯科特对阵列选择的回答是正确的。 要在默认情况下选中复选框,请使用ng-checked(如果使用表达式选中复选框
) <input type="checkbox" ng-checked="expression">
或checked属性,如果您希望始终默认选中它
<input type="checkbox" checked>