如何使用jQuery获取checkbox的选中状态值?
问题解决:jQuery获取checkbox选中状态的正确方式
你当前使用的
$("input[type='checkbox']").val()无法获取选中状态的核心原因是:val()方法仅用于读取元素的value属性值,checkbox默认的value为固定字符串on,和是否被选中没有关联。
正确实现方式
- 方式1:使用
is(':checked')判断(最常用,返回布尔值)
你的checkbox有明确的idsequenciaRelatorio,直接用id选择器定位更精准,避免页面存在多个checkbox时取值错误:
// 选中返回true,未选中返回false var ordenacaoRelatorio = $("#sequenciaRelatorio").is(':checked');
- 方式2:使用
prop('checked')读取原生checked属性
// 效果和is(':checked')一致,返回布尔值 var ordenacaoRelatorio = $("#sequenciaRelatorio").prop('checked');
额外优化建议
- 如果后端接口需要接收数字类参数而不是布尔值,可以自行做转换:
// 选中传1,未选中传0 var ordenacaoRelatorio = $("#sequenciaRelatorio").is(':checked') ? 1 : 0;
- 你当前拼接
routeValues时的参数分隔符存在错误:URL中第一个参数用?开头,后续所有参数都应该用&分隔,你现在全用?会导致后端无法正确解析后续参数,需要修正。
内容的提问来源于stack exchange,提问作者Thiago Corrêa
相关产品推荐
相关产品推荐

