如何在jQuery中获得复选框的值?
当前回答
澄清一下:
$('#checkbox_ID').is(":checked")
将返回true或false
其他回答
试试这个小方法:
$("#some_id").attr("checked") ? 1 : 0;
or
$("#some_id").attr("checked") || 0;
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);
});
请注意,截至今天,2018年,由于api多年来不断变化。 removeAttr已被撤销,不再工作!
Jquery选中或取消选中复选框:
糟糕,再也不能工作了。
$('#add_user_certificate_checkbox').removeAttr("checked");
$('#add_user_certificate_checkbox').attr("checked","checked");
相反,你应该这样做:
$('#add_user_certificate_checkbox').prop('checked', true);
$('#add_user_certificate_checkbox').prop('checked', false);
简单但有效,并假设你知道会找到复选框:
$("#some_id")[0].checked;
给真/假
检索复选框值的最佳方法如下所示
if ( elem.checked )
if ( $( elem ).prop( "checked" ) )
if ( $( elem ).is( ":checked" ) )
正如jQuery网站上的官方文档所解释的那样。其余的方法与复选框的属性无关,它们正在检查属性,这意味着它们正在测试加载复选框时的初始状态。简而言之:
当你有一个元素,你知道它是一个复选框,你可以简单地读取它的属性,你不需要jQuery(即element .checked),或者你可以使用$(elem).prop("checked"),如果你想依赖jQuery。 如果你需要知道(或比较)元素第一次加载时的值(即默认值),正确的方法是element . getattribute ("checked")或element .prop("defaultChecked")。
请注意,element .attr("checked")只有在jQuery 1.6.1+版本之后才会被修改,以返回与element .prop("checked")相同的结果。
有些答案是误导或不准确的,请自己检查以下内容:
http://api.jquery.com/prop/