2012-03-14 19 views
2

jQueryのチェックボックスをオンにすると問題が発生します。次のコードは動作します:チェックボックスのチェック

var checked_boxes = $('input:checkbox:checked').length // Returns 1 or 2 etc. 

しかし、私は特定のクラスのチェックボックスの数をカウントすることを修正したいと思い、my_classを言います。私は以下を試しました:

var checked_boxes = $('input.my_class:checked').length // Always 0 
var checked_boxes = $('input.my_class:checkbox:checked').length // Always 0 
var checked_boxes = $('input[type=checkbox].my_class:checked').length // 0 also 

他のいくつかの構文/置換と同じです。いくつかの背景については

、これらのチェックボックスは、TD内のテーブルにあり、基本的にそのように見える:

<input type="checkbox" id="cb1" class="some_class_for_display_style my_class" value="1" />Blah 

私はここに欠けているものを任意のアイデア?

編集:

問題が見つかりました:誤って配置されたクラスでした。私はその旨の答えを加えました。

+0

入力前にドル記号にすることはできますか? '$( '$ input')' – Ascherer

+0

ラット..タイプミスが修正されました! – Adnan

答えて

1

最速Rubber Duck答えて!

右ここに掲示した後、私は私のコードを見に戻って、私はTDにクラスを適用していた私の恐怖に実現していない(私はRailsの使用しています)。.. とそれにクラスを移動しました今働いているようだ。

ありがとうございました!

8

セレクタの$記号を削除します。

$('input.my_class:checked').length -

$('input.my_class').lengthをチェックされ、チェックボックスのカウント - クラスmy_class

+0

それはタイプミスだった..申し訳ありません! – Adnan

+0

それでは今は動作しますか? – westo

0

を持つすべてのチェックボックスのカウント$inputは、PHPの変数である場合は、変数を使用するJSの文字列をエスケープする必要があります。

var checked_boxes = $('<?php echo $input ?>'.my_class:checked).length; 

それはJS変数、同じものである場合:

var checked_boxes = $('input.<?php echo $my_class; ?>:checked').length; 

そして、それが変数でない場合は、あなただけのセレクタから初期$を削除する必要があります。

var checked_boxes = $('input.my_class:checked').length; 
関連する問題