首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用angularjs要存储检查过的资产。

使用angularjs要存储检查过的资产。
EN

Stack Overflow用户
提问于 2016-04-27 11:24:05
回答 3查看 62关注 0票数 0
代码语言:javascript
复制
 <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>

上面的代码是“正在检查中显示资产”,现在我要存储已检查的资产数组。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-27 12:00:25

试试这个,这里是工作的小提琴

代码语言:javascript
复制
<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>

控制器

代码语言:javascript
复制
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);
     }
    });
   }
  }
}
票数 2
EN

Stack Overflow用户

发布于 2016-04-27 11:59:20

另一种解决办法是:

代码语言:javascript
复制
  <input type="checkbox" ng-model="Asset.checked" ng-true-value="true" ng-false-value="false" />

然后,根据选中的属性筛选资产。并删除选中的属性,同时将其序列化到服务器以获得适当的数据集。

ng-true-valueng-false-value的用法是因为如果不指定它们,则将"true“和"false”作为字符串值

票数 0
EN

Stack Overflow用户

发布于 2016-04-27 11:55:18

代码语言:javascript
复制
<input type="checkbox" ng-model="check" ng-change="store($index)"/>

你的控制器:

代码语言:javascript
复制
$scope.storedData = [];
$scope.store = function(index) {
    $scope.storedData.push($scope.ctrl.company.selected.Assets[index]);
    };

假设您的$scope.ctrl.company.selected.Assets为数组类型。

此代码尚未测试。我希望你能理解我在这里试图建立的逻辑。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36888357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档