49

ここでスタックオーバーフローのnoob。転送ジョブ機能を持つ Web ページに取り組んでいます。これにより、ユーザーはチェックボックスをオンにしてジョブをオフィスに送り返すか、利用可能なすべての技術者のリストから技術者を選択できます。私の質問は、ページがロードされたときにデフォルトでチェックされ、それに応じて選択リストが無効になるようにチェックボックスを設定する方法です。現時点で私が持っているコードは次のとおりです。

<div ng-app="">
  Send to Office: <input type="checkbox" ng-model="checked" ng-checked="true"><br/>
  <select id="transferTo" ng-disabled="checked">
    <option>Tech1</option>
    <option>Tech2</option>
  </select>
</div>

ここにjsfiddleがあります:http://jsfiddle.net/hugmungus/LvHJw/5/

現在、ページはチェックボックスがオンになった状態で読み込まれますが、リストは無効になっていません。チェックを外して再度チェックすると、リストが無効になります。

助けてくれてありがとう!

4

4 に答える 4

94

ng-model を使用する場合、ng-checked も使用したくありません。代わりに、モデル変数を true に初期化します。 通常、ページを管理しているコントローラーでこれを行います (追加します)。 あなたのフィドルでは、デモンストレーションのために ng-init 属性で初期化を行いました。

http://jsfiddle.net/UTULc/

<div ng-app="">
  Send to Office: <input type="checkbox" ng-model="checked" ng-init="checked=true"><br/>
  <select id="transferTo" ng-disabled="checked">
    <option>Tech1</option>
    <option>Tech2</option>
  </select>
</div>
于 2013-06-28T21:55:39.190 に答える