-1

ng-repeat を使用してチェック ボックスを生成しています。その情報がデータに存在するかどうかに応じて、初期状態をチェックまたはチェック解除できます。私の問題は、最初のチェック済み/未チェックのステータスが正しく表示されているにもかかわらず、「事前にチェック済み」のボックスのチェックを外すと、ボックスは物理的にチェックを外しますが、モデルは変更されません。それからもう一度確認すると、モデルは変更されていませんが、正しいです。次に、もう一度チェックを外すと、モデルで正しくクリアされ、それ以降は正しく機能します。私はこの問題に何日も取り組んできましたが、完全に立ち往生しています! 私が愚かなことをしているかどうか、誰かが見ることができますか?私の感じでは、それは初期化の問題ですが、近すぎて今はわかりません。ありがとう!

<!-- if this is a checkbox to be drawn -->
<div ng-if="option.option_type=='checkbox'">
  <label class="item-checkbox-right">
  {{option.caption}} 
   <!-- handle multiple options -->

  <!-- if answered_options[n]weight exists, make option.ans = weight --></label>
  <ul ng-repeat="opti in questionpart.survey_answer[0].answered_options">
    <li style="list-style: none; display: inline">

    <!-- if option is set in the received data, set it in the model -->
      <div ng-if="opti.id == option.id">
        <div ng-init="option.ans = option.weight"></div>
      </div>
    </li>
  </ul>
  <label class="item-checkbox-right">
      <!-- show the checkbox and bind to option.ans-->
      <input class="checkbox-light" 
      type="checkbox" 
      name="{{questionpart.id}}" 
      ng-false-value="0" 
      ng-true-value="{{option.weight}}"
      ng-model="option.ans"
      ng-checked="option.ans==option.weight" />
  </label>
</div>
4

1 に答える 1