2017-08-14 11 views
-6

私は試しましたが、フィールドセットを使用していましたが、無効な入力フィールドと残りのドロップダウンは無効になっていません。私の質問のための解決策はありますか?私はあなたがやろうとしていると思う何角度jsでDivを無効にする方法

+0

あなたのコードを投稿してください。あなたの試行を表示 –

+0

あなたはまだ試したことをあなたのコードを投稿してください? –

+0

最初に[よくある質問](https://stackoverflow.com/help/how-to-ask)を読んで、より良い質問を作成してください。それから、他の人があなたを助けることができるように、問題を解決するためにこれまでに試したことがあれば、[最小限の、完全で検証可能なコード例](https://stackoverflow.com/help/mcve)を含めてください。 –

答えて

1

問題

はdiv要素に条件を配置することであり、その条件が真であるとき、あなたはdiv要素とすべての子要素を無効にしたいです。

無効としてあなたは、このようng-disabledを使用してdiv要素をマークすることができます

<div ng-disabled="expression"> 
    <input type="text"> <!-- Won't be disabled! --> 
    <select> <!-- Also won't be disabled! --> 
     <option value="1">option 1</option> 
    </select> 
</div> 

しかし、子要素に伝播しないこと。

はNG-無効にここのためのDOCOを参照してください:あなたは無効にしたいdiv要素内の各子要素にng-disabled属性を追加する必要がありますhttps://docs.angularjs.org/api/ng/directive/ngDisabled

ソリューション

。 divの上ng-disabled属性を維持

<div> 
    <input type="text" ng-disabled="expression"> 
    <select ng-disabled="expression"> 
     <option value="1">option 1</option> 
    </select> 
</div> 

エクストラ

は、しかし、それは便利なCSSセレクタとして使用することができ、子要素を無効にする必要ないです。

たとえば、無効になっているdiv全体の不透明度を設定することができます。このCSS

div.special-div[disabled] { 
    opacity: 0.5; 
} 
1

これを試すを使用

<div class="special-div" ng-disabled="expression"> 
    <input type="text" ng-disabled="expression"> 
    <select ng-disabled="expression"> 
     <option value="1">option 1</option> 
    </select> 
</div> 

のdocument.getElementById( "yourDivID")style.pointerEvents = "なし"。例については


<div id="myDiv"> <h1>This is my division</h1> </div>

その後のコードは以下のようになります:

document.getElementById("myDiv").style.pointerEvents = "none";

関連する問題