2011-04-26 20 views
1

私は選択入力とチェックボックスを持つフォームを持っています。次のセレクタ::選択入力も選択されています

$(':checkbox:checked') 

にのみチェックされたチェックボックスを選択します。両方選択

$(':checked') 

は、私が使用する必要がありました。

Q:jQueryでバグが見つかりましたか、それとも私の理解ですか?

+1

'$( ':checkbox')' *はユニバーサルセレクタ '*'を意味し、効果的に '$( '*:checkbox')'を与えているので、jQueryはページ上の* 'type ="チェックボックス "であるかどうかを確認してください。 '$( 'input:checkbox')' :)参照:[':checkbox'](http://api.jquery.com/checkbox-selector)で作業負荷を減らしてください。 –

+0

私はいくつかのHTMLを見る必要があると思います: ':checked'はオプションを選択してはいけません:http://jsfiddle.net/ambiguous/2sxAC/ –

+0

@muは短すぎます...あなたのコメントはそれに依存していますブラウザ。 FF3.6はIE 8とは異なる報告をします。 –

答えて

4

技術的には、要素、ラジオボタン、チェックボックスを選択した状態がチェックされているため、バグではありません。あなたが正しいかもしれないのでjQuerysドキュメント:checkedから

input-checked


select要素のために働くべきではありません... jsfiddle

でテストする:チェックするセレクタはチェックボックスやラジオボタンのために動作します。選択された要素については、:選択されたセレクタを使用します。このテストから


http://jsfiddle.net/hunter/zAC54/

私はあなたが見ている結果を見ていないよ...

は、あなたがコードをselect入力にcheckedプロパティを追加したことがありますか?

+0

Hmmm。あなたは正しいかもしれない。それは私かもしれない。 –

0

:checkedは、あなたが望むものではないあなただけのチェックボックス

$("input:checked") //selector for checked radio buttons and checkboxes 
$("input:radio:checked") //selector for checked radio buttons 
$("input:checkbox:checked") //selector for checked checkboxes 

をチェックしたい場合は最後に、それはタグ名出て自分でクラスセレクタや他の特別なセレクタを使用するには、パフォーマンス上の理由からお勧めできません。この理由は、jQueryはそのクラスまたはセレクタを検索するすべてのdom要素を実行します。タグ名を適用すると、jQueryはgetElementsByTagNameを使用してから、次のタグ名を持つ要素だけを反復します。より速く効率的です。

関連する問題