2012-02-24 10 views
3

こんにちは私は、チェックボックスがチェックされているかどうかをチェックしようとしています。しかし、私のチェックボックスはforループを使って作成され、各チェックボックスの値は実際は同じです。次のようにJQueryでチェックボックスをチェックする

コードは次のとおりです。

{% for keyword in keyword_list %} 
    {% if keyword.keyword_name == userprofile.keywords_subscribed %} 
     <input type="checkbox" disabled="disabled" name="keywords" value="keywords"/> {{keyword.keyword_name}}<br /> 
    {% else %} 
     <input type="checkbox" name="cb" value="keywords" /> {{keyword.keyword_name}}<br /> 
    {% endif %} 
{% endfor %} 

jQueryのコードを次のように

<h2>Price of subscriptions</h2> 
    <script type="text/javascript" src="/static/js/jquery-1.6.3.min.js"></script> 
    <script type="text/javascript" src="/static/js/jquery-ui-1.8.16.custom.min.js"></script> 
    <script type="text/javascript" src="/static/fc3/charts/FusionCharts.js"></script> 
    <script type="text/javascript"> 
    function popup(){ 
     {% for price in price_list %} 
      alert({{price.price_of_each_keyword}}) 
     {% endfor %} 
    } 
    function DoTheCheck() { if(document.cb2.checked == true) 
       { alert('box2 is checked'); } 
    } 

    </script> 

を現時点では、これは私が考えることができるすべてです。

jqueryを使用してチェックボックスを繰り返し、チェックされているかどうかを確認するにはどうすればよいですか?

ウェブ上でいくつかの例が見つかりましたが、実際にはほとんどの場合、コードの個々のチェックボックス名が作成され、jqueryを使用してチェックするのが簡単になりました。

何か助けてもらえますか?

ありがとうございます。

+0

周囲のHTML(親オブジェクト)を表示します。あなたが示したものでは、入力タグは一意に識別できないので、jQueryが動作することを知るには十分ではありません。 – jfriend00

+1

jQueryコードが表示されません... –

+0

[jQueryですべてのチェックボックスを検索しています]という重複があります。(http://stackoverflow.com/questions/1497945/finding-all-checkboxes-are-checked-in- jquery) –

答えて

6

あなたは、すべてのリストはこれでサイトのチェックボックスにチェックを受けることができます。

$('input[type=checkbox]:checked') 

SHORT

クレイグから述べたように、同様に利用できるショートバージョンがあります:

は、
$(':checkbox:checked') 

カウント

そして、あなたがチェックチェックボックスのないを知りたいしない場合は、単純に次の操作を行います。あなたは、ページ上のすべてのチェックボックスを通してないたくループを行う場合

$(':checkbox:checked').length 
+0

そのコードでif else文を入れる必要がありますか? –

+0

ありがとうMarc!魅力のように働く! :) –

+0

いいえ心配...;) – Marc

0

あなたは彼らにクラスを与えることができるし、このようなループ

$('.yourClass').each(function(i, obj) { 
    if($(this).is(':checked')) 
{ 

your code 

} 

}); 
+0

私はチェックボックスの数を数えたければどうしますか? –

+0

あなたがループで作成したものか、ページのすべてのチェックボックスですか?すべてのチェックボックスが必要な場合は、他のMarcがそれを行う良い方法を持っています。 – Marc

+0

が答えを見つけました。 function.lengthの声援を使うだけでした! :D –

0

Marcは良い答えがありますが、それぞれを調べてチェックしたい場合は、次のようにします。

$('input[type=checkbox]').each(function(){ 
    if($(this).is(":checked")){ 
     alert($(this).attr("name")+ " is checked"); 
    } else { 
     alert($(this).attr("name")+ " is not checked"); 
    } 
    }); 

希望があります。

+0

ありがとうehudokai!どのようにチェックボックスの数を確認することができますか? –

+1

そこに '$( ':checkbox:checked')。length' – Marc

+0

' this.checked'は '$(this).is(":checked ")より読みやすくなります'。 'this.name'と同じです... – nnnnnn

関連する問題