2012-04-19 2 views
0
var $inputs = $('.add-item-form :input'); 

これはすべての入力フィールドを取得しますが、不要な選択フィールドも取得します。選択されていないすべての入力フィールドを取得する方法

<select><option>example</option></select> 
+1

':input'も' textarea'と 'button'要素を返します。あなたはそれらを望んでいるのですか、あるいは 'input'要素だけを必要としますか? –

答えて

0

:inputinputtextareaのためのjQuery固有の疑似セレクタで使用を省略する.not()を使用して、 、およびselect要素。だから、これを行うことができます:

var $inputs = $('.add-item-form :input:not(select)'); 

を...しかし、あなたはまた、単にあなたが望む、特に何かを呼び出すことができます。

var $inputs = $('.add-item-form input, .add-item-form textarea, .add-item-form button'); 

...ブラウザがquerySelectorAllをサポートしている場合という利点を持っていることになります(ほぼすべてが標準モードで動作します)、jQueryはネイティブ処理に移ります(ただし、:inputはjQueryに固有なので、ブラウザのネイティブなものでは処理できません)。

それとも、あなたはtextareabutton要素をしたくない場合は、もちろん、それは本当に簡単です:

var $inputs = $('.add-item-form input'); 

...と、再びそれが可能な場合は、ブラウザの最適化されたもので取り扱われているという利点を有しています。

+0

$( '。add-item-form:input:not(select)')のためにあなたの答えを選んだ。 var $ inputs = $( '。add-item-form:input')。not( "select")はしませんでした。 –

+0

@Hardworker:これは非常に奇妙なことです。それは私のためになります:http://jsbin.com/atuzaq私はあなたが私の答えから2番目または3番目の例で良いと思うが、2つの言及の両方が動作するはずです。 –

2

button、選択ボックス

var $inputs = $('.add-item-form :input').not("select") 

またはCSSスタイル:notセレクタ

var $inputs = $('.add-item-form :input:not(select)'); 
+1

兄ロリス私は正確な答え+ 1をタイプしました! :P –

0

だけinput要素をしたい場合は、コロンを省略は:

$('.add-item-form input'); 

:inputセレクタは、すべての入力、テキストエリア、選択ボタン要素を選択します。入力要素だけが必要な場合は、inputと言うだけです。

は(この答えはよくないあなたがを行う場合のtextareaやボタンの要素をしたい。)

関連する問題