您好我正在尝试检查复选框是否已选中。但是我的复选框是使用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来检查它们。
感谢我能得到的任何帮助。
谢谢。
答案 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");
}
});
希望有所帮助!