2017-08-29 7 views
0

HTMLページがあり、チェックボックスをクリックするとページの新しいセクションが表示されます。 HTMLは次のようになります。入力チェックボックスがJavaScriptで選択されているときにng-showがトリガーされない

  <input id="formcheck" ng-model="collapseform" type="checkbox">Fill in the Test Form   
      <div id="mainformdiv" class="wizard-div" ng-show="collapseform">     
        <div>       
         <div class="main-block">  
           ...and so on 
         </div> 
        </div> 
      </div> 

この部分は正常に動作します - ページの一部が隠されていることをデフォルトで、私は、チェックボックスを選択すると、ページの残りの部分が表示されます。選択を解除すると、ページの残りの部分が再び非表示になります。

また、同じページにはテーブルがあり、そのテーブルのノードを選択すると、内部の値が設定されるコントローラ機能が呼び出されます。この部分も同様に機能します正しく設定して、すべての機能を呼び出すことができます。

私が見ている問題は次のとおりです。テーブルノードが選択されたときに呼び出されるコントローラ関数にビットを追加したいと思います。内部値を設定するだけでなく、 )、チェックボックスをオンにして、ページの隠し部分を応答として表示させます。私はこれを実現するでしょうジャバスクリプト経由のチェックボックスをチェックすると、私は思ったので、私は機能を設定する内部値にこれを追加しました:

 if (document.getElementById("formcheck").checked == false) { 
      document.getElementById("formcheck").checked = true; 
     } 

その作品の種類 - コードのその部分があるときにチェックボックスがオフにチェックを受けるんしかし、私はマウスでチェックボックスをクリックするのとは異なり、ng-showをトリガするようには見えないので、ページの隠れた部分は見えません。この仕事をするために何か必要なことはありますか?

ありがとうございます!

答えて

1

モデルの値を変更できるはずです。 NgModelは双方向バインディングを提供するので、変数も同様に参照してください。例えば

は、おかげで動作するように見え

$scope.collapseform = false 

代わりの

if (document.getElementById("formcheck").checked == false) { 
    document.getElementById("formcheck").checked = true; 
} 
+0

を行います!私は時々、選択と隠れたフィールドを表示する間に奇妙な遅れがあることに気付きましたが、これはそうするように見えました。とても有難い! – monkeyWithAMachinegun

関連する問題