2010-11-30 8 views
0

挨拶、 私のフォームには複数のチェックボックスがあります。子セレクタのルーピング

<div id="checker"> 
    <input type="checkbox" name="dynamic" id="dynamic" value="dynamic" /> 
    <input type="checkbox" name="dynamic" id="dynamic" value="dynamic" /> 
    <input type="checkbox" name="dynamic" id="dynamic" value="dynamic" /> 
</div> 

...ここで「動的」(上記)はデータベースから来ており、名前またはIDはわかりません。これらはPHPコードのループで作成されます(図示されていません)。

JQueryを使用すると、これらのチェックボックスにアクセスしてループすることができますか?

$('#checker').children('checkbox').each(function(){ .... }); 

( - それはちょうど私が考えているかを示すためにだ、私はそれが間違っている知っている):私のような何かをしたいと思います。

思考?おかげ JOHNC

+0

うーん!私の投稿は私のdivの例とチェックボックスを削除したようです。私のチェックボックスはデータベースから来ており、私はその名前、ID、または値を知らない。 id = "checker"のdivタグ内のチェックボックスであることがわかります – JohnC

+0

コードをハイライト表示し、Ctrl-kを押すか、エディタツールバーの "code"ボタンをクリックします(0101010のように見えます)。それは表示のためにそれをフォーマットするでしょう。ビンゴ! –

+0

エディタで 'code'ボタンをクリックするか、すべてのコードを4つのスペースでインデントすると、コードが表示されます:-) –

答えて

4
$('#checker input:checkbox').each(function() { ... }); 
+0

ああ、気の利いた。 :チェックボックスセレクタの暗黙の "すべての要素"についてはわかりませんでした。いいですよ。私はあなたのアップをアップしています。 –

+0

はい、そこにありますが、パフォーマンス上の理由から、jQueryはgetElementsByTagName関数を使用でき、すべての*要素をチェックする必要がないため、その前にタグ名を付ける必要があります。 – AndreKR

1

$。( '#チェッカー入力:タイプ= "チェックボックス"')それぞれの(...);

+0

close ... $( 'checker input [type = "checkbox"]')。それぞれ(...); –

0

#checkerが

$("div#checker input:checkbox").each(function() { ... }); 
2

その後、あなたのdivへのidであれば、これを試してみてください:

$('#checker input:checkbox').each(function(){ 
    //do stuff 
}); 
+0

パフォーマンスのためには、jQueryがgetElementsByTagName関数を使用することができ、すべての*要素をチェックする必要がないため、タグ名(input:checkbox)を使用する必要があります。 – AndreKR

+0

@AndreKRありがとう!これは、jQueryの ':checkbox'ドキュメントに記載されているように、間違いなく正しいです。http://api.jquery.com/checkbox-selector/ –

0
$('#checker').children('input [type="checkbox"]').each(
    function(){ 
    .... 
    });