2016-05-25 79 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

相关问题