2017-04-27 42 views
0

我想在複選框中使用ng-repeat訪問對象值(即規則名稱 - 拒絕,延期,警告...),並且在對象中的值爲'Y時顯示覆選框'和未選中時的值是‘如在圖像中所示被顯示N’如何在角度js中訪問對象值

<div class="form-group"> 
<label class="checkbox-inline" ng-repeat="rules in savedRulesData "> 
<input type="checkbox" id="checkBoxed" value="{{savedRulesData}}">{{rules}} 
</label> 
</div> 

目前我複選框。

我在我的控制器打開使用editRules功能這種模式

[http://tinypic.com/r/fog2gk/9]圖片鏈接

$scope.editRules = function(ruleTypes,client) { 
     var obj=new Object(); 
     var self=this; 
     var clientId=client.clientId; 

     var responsePromise = $http.get("typesofSavedRules/"+clientId); 
     responsePromise.success(function(data, status, headers, config) { 
      self.savedRulesData=data.objList; 
      $scope.savedRulesData=self.savedRulesData; 
     }); 
     responsePromise.error(function(data, status, headers, config) { 
      alert("AJAX failed!"); 
     }); 

     modalInstance = $modal.open({ 
      templateUrl: 'myModalContent.html', 
      scope: $scope, 
      size:'lg' 
     }); 
    }; 
+0

是什麼''savedRulesData的結構?順便說一句,你可以使用['ng-true-value'和'ng-false-value'](https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D) –

+0

這是一個對象可以在圖片鏈接中看到它@ pro.mean –

+0

提示:在一個頁面上必須有唯一的ID。並在複選框 –

回答

0

我認爲你可以使用ng-checked="{{expression}}"像 -

<div class="form-group"> 
<label class="checkbox-inline" ng-repeat="rules in savedRulesData "> 
<input type="checkbox" id="checkBoxed" ng-checked="{{rules.rule=='Y'}}">{{rules}} 
</label> 
</div> 

只要有正確屬性rules對象。

+0

感謝這就是我所需要的。但我試圖通過ng-model =「rules」訪問規則對象,因爲我想保存被檢查的規則,然後將未檢查的規則的屬性規則[1] =='Y'更改爲'Y'。但我不能通過範圍變量訪問我的控制器中的規則對象,例如$ scope.rule; –

+0

請顯示代碼 –

0

待辦事項如下,

<div ng-repeat="value in savedRulesData"> 
    <label><input type="checkbox" ng-model="rule[value[0]]" ng-true-value="Y" ng-false-value="N">{{value[2]}}</label> 
</div> 

希望它能幫助:)

+0

謝謝我使用ishak dubey的方式做到這一點,我也使用你的模型方法結合起來。但我試圖通過ng-model =「rules」訪問規則對象,因爲我想保存被檢查的規則,然後將未檢查的規則的屬性規則[1] =='Y'更改爲'Y'。但我不能通過範圍變量訪問我的控制器中的規則對象,例如$ scope.rule; –

+0

@SAJALMATHUR你必須做'ng-model ='rule'',然後你可以在你的控制器中以'$ scope.rule'的方式訪問它,因爲我編輯了我的答案 –