[英]Dynamically display input checkbox using ng-repeat based on condition
我正在嘗試根據條件標志顯示帶有標簽的復選框。 標簽值如下:
$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作為復選框標簽。
我該怎么做呢? 以及如何使復選框默認為選中狀態?
嘗試使用函數返回要顯示的值,而不是直接返回列表。 像這樣
<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>
對於陣列選擇,Scott的答案是正確的。 要使您的復選框默認為選中狀態,如果復選框已使用表達式選中,請使用ng-checked
<input type="checkbox" ng-checked="expression">
或選中的屬性(如果希望始終默認選中)
<input type="checkbox" checked>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.