2016-05-25 13 views
0

私は2つの変数を持っています.1つはChexboxを格納し、もう1つはチェックされた値を格納します。コントローラからビューにチェックボックスとその値(チェックされていない)を表示するのに問題が見つかりました。 Iが先行コードでコントローラデータベースモデルに応じてチェックボックスの結果を表示するにはどうすればよいですか?

$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> 

私のコントローラを変更する方法と、正しいChexboxをチェックするためにng-modelを置く方法は何ですか?

ありがとうございます。

答えて

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関数です。

EDIT:あなたの最後のコメントに答えるために、私はそれが

+0

おかげであなたはジャン・ニコラを応答するために、問題は$ scope.infoParticipant [i]を.v_valueが関数$の下で宣言されていることですがどのように機能するかを示すplunkerを作成scope.getParticipant()と$ scope.infoParticipant [i] .optionsTabと比較するためにこの関数でisOptionAvailableを宣言する義務がありますが、$ scope.getParticipantはフォームを表示するために一度だけ実行されるため、isOptionAvailableにアクセスできません。それを修正するには? – user2285831

関連する問題