-1

読み取り専用または無効input[type=text]になっておらず、名前を持つすべての編集可能なフォーム要素 ( 、input[type="radio"]input[type="checkbox"]selectおよびtextarea)を選択したいと考えています。タイプごとに読み取り専用属性と無効属性を繰り返さずに、単一のセレクターでそれを行うことは可能ですか?

つまり、[name]:not([disabled]):not([readonly])入力タイプごとに繰り返すのではなく、グローバル フィルターとして提供できますか?

私は単一のセレクターに特に興味があります。なぜなら、それをセレクター フィルターとして$.live/に渡したいから$.onです。.not要素が動的に追加される可能性があるため、またはそのような方法は使用できません。

4

2 に答える 2

1
$('input[type="text"], input[type="radio"], input[type="checkbox"], select, textarea')
     .is(':not([disabled]):not([readonly])');

うまくいくと思われるこの素晴らしい解決策を見つけました。

$('(input[type="text"], input[type="radio"], input[type="checkbox"], select, textarea):not([disabled]):not([readonly])')

基本的に、選択の周りに追加()してから :not() 条件を実行できるようです。神よ、私は jQuery が大好きです!

于 2012-05-02T08:12:46.483 に答える
1

メソッドを使用できますfilter

$("input[type='text']:enabled, textarea:enabled, select:enabled, input[type='radio']:enabled")
.filter(function(){ return $(this).attr("readonly", false); // or true
}).on("click", function(){
     .....
})
于 2012-05-02T08:12:54.853 に答える