如何在jQuery中获得复选框的值?
在jQuery中获取复选框值
jQuery(".checkboxClass").click(function(){
var selectedCountry = new Array();
var n = jQuery(".checkboxClass:checked").length;
if (n > 0){
jQuery(".checkboxClass:checked").each(function(){
selectedCountry.push($(this).val());
});
}
alert(selectedCountry);
});
简单但有效,并且假定您知道将找到该复选框:
$("#some_id")[0].checked;
给true
/false
检索复选框值的唯一正确方法如下
if ( elem.checked )
if ( $( elem ).prop( "checked" ) )
if ( $( elem ).is( ":checked" ) )
如jQuery网站上的官方文档所述。其余方法与复选框的属性无关,它们正在检查属性,这意味着它们正在测试复选框在加载时的初始状态。简而言之:
- 当您拥有该元素并且知道它是一个复选框时,您只需读取其属性即可,而您将不需要jQuery(即
elem.checked
),或者$(elem).prop("checked")
如果您想依赖jQuery,也可以使用它。 - 如果您需要知道(或比较)元素首次加载时的值(即默认值),则正确的方法是
$(elem).is(":checked")
。
答案有误导性,请检查以下内容:
试试这个小解决方案:
$("#some_id").attr("checked") ? 1 : 0;
要么
$("#some_id").attr("checked") || 0;
Here is how to get the value of all checked checkboxes as an array: