<div style="z-index: 1; position: absolute"ng-show="ctrl.company.selected">
<div style="" ng-repeat="Asset in ctrl.company.selected.Assets">
<div class="pd-5"style="width: 300px; background-color: white; border-bottom: gray solid">
<label>
<input type="checkbox" ng-model="check"/>
{{Asset}}
</label>
</div>
<div ng-show="check">{{Asset}}</div>
</div>
</div>上面的代码是“正在检查中显示资产”,现在我要存储已检查的资产数组。
发布于 2016-04-27 12:00:25
试试这个,这里是工作的小提琴
<div style="z-index: 1; position: absolute">
<div style="" ng-repeat="(index,val) in Assets">
<div class="pd-5"style="width: 300px; background-color: white; border-bottom: gray solid">
<label>
<input type="checkbox" name="check[]" ng-click="addToSelectedOrNot(index,flag,val)" ng-true-value="true" ng-false-value="false" ng-model="flag"/>
{{val}}
</label>
</div>
</div>
<div ng-show="selectedAssets.length>0">
<div>----------------Selected------------------</div>
<div>{{selectedAssets}}</div>
</div>
控制器
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.Assets = ['asset1','asset2','asset3'];
$scope.selectedAssets = [];
$scope.addToSelectedOrNot = function(index,flag,val){
if(flag == "true"){
$scope.selectedAssets.push($scope.Assets[index]);
}else if(flag == "false"){
angular.forEach($scope.selectedAssets, function(selVal,selKey )
{
if(val == selVal){
$scope.selectedAssets.splice(selKey,1);
}
});
}
}
}发布于 2016-04-27 11:59:20
另一种解决办法是:
<input type="checkbox" ng-model="Asset.checked" ng-true-value="true" ng-false-value="false" />然后,根据选中的属性筛选资产。并删除选中的属性,同时将其序列化到服务器以获得适当的数据集。
ng-true-value和ng-false-value的用法是因为如果不指定它们,则将"true“和"false”作为字符串值
发布于 2016-04-27 11:55:18
<input type="checkbox" ng-model="check" ng-change="store($index)"/>你的控制器:
$scope.storedData = [];
$scope.store = function(index) {
$scope.storedData.push($scope.ctrl.company.selected.Assets[index]);
};假设您的$scope.ctrl.company.selected.Assets为数组类型。
此代码尚未测试。我希望你能理解我在这里试图建立的逻辑。
https://stackoverflow.com/questions/36888357
复制相似问题