2015-06-26 12 views
0

我無法呈現動態複選框以JSON API響應動態複選框。名單角和JSON API

這2 NG-重複:

  1. 瞻類別的列表在BD,和;
  2. NG-模型所選類別上市。

下面我的HTML代碼;

<ul class="list-group"> 
    <li class="list-group-item" ng-repeat="cats in categorias"> 
     <div class="checkbox"><label><input type="checkbox" ng-model="checkbox[item.cats]"><span class="checkbox-material"><span class="check"></span></span></label> {{cats.name}}</div> 
    </li> 
</ul> 

JSON/API響應(1)

[ 
    {"id":"1","id_module":"1","name":"Esportes"}, 
    {"id":"2","id_module":"1","name":"Entretenimento"}, 
    {"id":"3","id_module":"1","name":"Terror"}, 
    {"id":"4","id_module":"1","name":"Drama"} 
] 

JSON響應(2)

{cats":["1","2"]} 

我想的是,複選框保持與響應檢查。

有沒有人有任何想法?

+1

如果我理解你的使用情況,你想要的是編寫一個函數接收到在Json2中查找的值。在該函數中,迭代Json2數組,如果值匹配則返回true,否則返回false。從Angular的'ngChecked'指令調用這個函數。 另外,由於複選框僅表示布爾值,因此您應該使用Angular的'ngValue'指令將所需的選中值賦給模型。 –

+0

你能解釋一下你想要的東西嗎: –

+0

這個例子:https://jsfiddle.net/1t142Lbo/ –

回答

1

在這裏,你有工作撥弄,檢查

jsfiddle.net/b895j3ay

var app = angular.module("Application", []) 
 
app.controller('Ctrl', function($scope) { 
 
    $scope.roles = [{ 
 
    id: 1, 
 
    text: 'guest' 
 
    }, { 
 
    id: 2, 
 
    text: 'user' 
 
    }, { 
 
    id: 3, 
 
    text: 'customer' 
 
    }, { 
 
    id: 4, 
 
    text: 'admin' 
 
    }]; 
 
    $scope.isChecked = function(id, matches) { 
 
    var isChecked = false; 
 
    angular.forEach(matches, function(match) { 
 
     if (match === id) { 
 
     isChecked = true; 
 
     } 
 
    }); 
 
    return isChecked; 
 
    } 
 
    $scope.user = { 
 
    roles: [2, 4, 3] 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js"></script> 
 
<div ng-app="Application"> 
 
    <div ng-controller="Ctrl"> 
 
    <label ng-repeat="role in roles"> 
 
     <input type="checkbox" ng-model="user.roles" checklist-value="role.id" ng-checked="isChecked(role.id,user.roles)">{{role.text}} 
 
    </label> 
 
    </div> 
 
</div> 
 
</div>

+0

謝謝,在頁面加載工作,但我忘了我必須添加ng模型,發送API,如果我點擊複選框,全部選中。 –