检查JQuery中的复选框

时间:2012-02-24 00:33:26

标签: jquery html checkbox

您好我正在尝试检查复选框是否已选中。但是我的复选框是使用for循环创建的,每个复选框的值实际上是相同的。

代码如下:

{% 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来检查它们。

感谢我能得到的任何帮助。

谢谢。

3 个答案:

答案 0 :(得分:6)

您可以使用以下网址获取网站中所有选中复选框的列表:

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

<强> SHORT

正如Craig所说,还有一个简短版本:

$(':checkbox:checked')

<强> COUNT

如果你想知道没有选中的复选框,只需执行以下操作:

$(':checkbox:checked').length

答案 1 :(得分:0)

如果您不想通过页面上的所有复选框循环

你可以给他们一个类并像这样循环

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

your code

}

});

答案 2 :(得分: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");
     }
   });
希望有所帮助!