2016-05-25 58 views
0

我有兩個變量,其中一個存儲chexboxes和其他存儲檢查值,我發現一個問題顯示從控制器到視圖的複選框及其值(檢查,未檢查)。 我有控制器如何根據我的數據庫模型顯示覆選框結果?

$scope.infoParticipant = functionThatGetsParticipants(); 
      for (var i = 0; i < $scope.infoParticipant.length; i++) { 
        if ($scope.infoParticipant[i].ch_type == 'checkbox_multiple') { 
          var optionsString = $scope.infoParticipant[i].cf_multiple_optionsList; 
          $scope.infoParticipant[i].optionsTab = optionsString.split(";"); 
          var optionsSelected = $scope.infoParticipant[i].v_value.split(";"); 
        } 
} 

在先例代碼對這個代碼這些應該是值

optionsString = "ch1;ch2;ch3"; 
$scope.infoParticipant[i].v_value = "ch1;ch2"; 

根據該複選框:CH1和CH2將在下一個視圖被檢查:

 <div ng-show="l.ch_type=='checkbox_multiple'"> 
      <label >My checkboxes</span></label> 

      <div class="row" ng-repeat="k in l.optionsTab"> 

      <div class=" col-md-2 modal_style_input">{{k}} </div> 
      <div class="col-md-2"><input type="checkbox" name="option" class="md-input" id="option {{k}}" class="wizard-icheck" value="{{k}}" icheck ng-model="" /></div> 
      <div class="col-md-8"></div> 

      </div> 
     </div> 

我的問題是如何修改我的控制器,以及在ng-model上放置什麼來檢查我正確的chexboxes?

在此先感謝。

回答

0

就你而言,一種解決方案是在你的複選框中使用ngCheck指令。

<input type="checkbox" id="option {{k}}" value="{{k}}" ng-check="isOptionAvailable({{k}})" /></div> 

而且isOptionAvailable(OPT)是您添加到當k存在於$ scope.infoParticipant [I] .v_value返回true範圍的JavaScript函數。

編輯:要回答你的最後的評論,我創建了一個plunker展示它是如何工作

+0

感謝您的響應讓 - 尼古拉,問題是$ scope.infoParticipant [I] .v_value是函數$下宣佈scope.getParticipant(),我有義務在此函數下聲明isOptionAvailable以與$ scope.infoParticipant [i] .optionsTab進行比較,但$ scope.getParticipant僅執行一次以顯示錶單,因此isOptionAvailable不可訪問,糾正? – user2285831

相關問題