2012-01-18 6 views
2

文があります$("#myDiv").attr("disabled","disabled"); 「親」コンテナを無効にすると、その中のすべての要素が無効になると考えました。私が実際に見るものは、テキストボックスが無効になっているように見え、「削除」は機能しませんが、そこに入力することができます。同じdiv内にあるチェックボックスが無効になっていて、チェック/チェックを外すことはできません。私は100%は分かりませんが、私はすでにその方法を無効にしていて、期待通りに機能していたと思います(テキストボックスは入力不可)。だから私は明示的にテキストボックスのために無効に設定する必要があるかどうか、あるいは他のいくつかのCSSが私が期待しているものを壊すかどうかを知りたい。div内の要素を無効にする

UPDATE: は私が必要とする、私はちょうどそれを行うTOTたくない要素に対して明示的に無効に設定する方法を知っている私はそれならば唯一の方法は、それを無効にする、またはテキストボックスは正確に動作することを求めていますチェックボックスとして(明示的に無効にすることなく)、この動作を中断するCSSがいくつかあります。

答えて

5

私の知る限り、これはブラウザに優しく、有効なマークアップではありません。あるいは単に

$('input,textarea,select', '#myDiv').attr("disabled", true); 
+1

またはジュースt $( "#myDiv *")。attr( "disabled"、 "disabled"); – giker

+0

@Lee、thx、明示的に設定する方法はわかっていますが、無効にする唯一の方法であれば、テキストボックスはチェックボックスと同じように動作し、一部のCSSではこの動作が中断されます。 –

+0

実際には '$( '#myDiv')。find( ':input')...'が最も素敵な方法のようです。 – kapa

1

あなたが使用することができます:最良のオプションは、編集のdiv内のすべてのフォーム要素を見つけて、TEH無効フラグを適用する必要があります

$('#myDiv').find('input,textarea,select').attr("disabled", true); 

のようなものを直接

を行うことであろう:inputセレクタ:

$("#myDiv :input").attr("disabled", true);

関連する問題