2014-04-25 43 views
0

我是AngularJS的新手,並面臨多個複選框的問題。我有一個註冊表格,我可以從數據庫中選擇顏色。如何在添加和編輯操作中處理AngularJS中的checkboxlist?

$scope.ColorList = { { ID: 1,Name:"Red" },{ ID: 2,Name:"Green" },{ ID: 3,Name:"Blue" }}; 

我正在使用下面的代碼來呈現窗體中的複選框。

<tr> 
    <td>Favorite Colors</td> 
    <td> 
    <label data-ng-repeat="c in item.ColorList"> 
     <input type="checkbox" value="{{c.ID}}" /><span>{{c.Name}}</span> 
    </label> 
    </td> 
</tr> 

現在,在加運算,複選框正確呈現......但如何綁定模型複選框,這樣我得到的選擇複選框的數組?

另外在編輯期間,我需要預先選擇複選框來顯示用戶保存的選項。

那麼如何實現呢?

在此先感謝。

+0

@DharemeshSolanki是一個錯字應該不會是'[{ID:1,產品名稱: 「紅」} ...]' – Nix

+0

你可以使用此解決方案:http://stackoverflow.com/questions/20968170/how-to-check-if-any-checkbox-is-checked-in-angular/20968682#20968682 – Cherniv

回答

0

我想大多數人會使用c作爲他們的模型,然後將ng-model綁定到c的一些財產。然後將列表實際上只是item.ColorList

$scope.ColorList = [ { ID: 1,Name:"Red" },{ ID: 2,Name:"Green" },{ ID: 3,Name:"Blue" }]; 

<label data-ng-repeat="c in item.ColorList"> 
    <input type="checkbox" ng-model="c.Active" value="{{c.ID}}" /><span>{{c.Name}}</span> 
</label> 

$scope.getSelected = function(item){ 
    var results = []; 
    angular.forEach(item.ColorList, function(c){ 
      if(c.Active){ 
       results.push(c); 
      } 
    }); 
    return results; 
} 
相關問題