jQuery判断checkbox是否选中的3种方法

时间:2021-05-26

jQuery能够极大提高html的编写效率,其中checkbox的选中判断有几种:

1, $(checkbox的id).prop("checked") 返回的是一个boolean值类型

2, $(this).is(":checked") 返回的也是一个boolean值类型

下面举一个点击checkbox修改文本框属性的例子:

<!doctype html><html><head><meta charset="utf-8"><title>exp8_3</title></head> <body> <input type="text" name="first" id="first"><br><input type="text" name="second" id="second"><br><input type="checkbox" name="cb" id="hide" value="1"><span id="v0">隐藏第三个文本框</span><br><input type="checkbox" name="cb" id="ml" value="2"><span id="v1">变长第一个文本框</span><br><input type="text" name="third" id="third"> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script type="application/javascript">var t1 = $("#first");var t2 = $("#second");var t3 = $("#third");$(document).ready(function(e) { t2.mousedown(function(e) {//t2被鼠标按下后 var str = t1.val();//获得t1的文本信息 t2.val(str);//加载入t2的文本 }); $("#hide").click(function(e) { //var flag = $(this).is(":checked"); var flag = $(this).prop("checked"); t3.toggle();//动态显示隐藏文本框 if(flag) $("#v0").html("显示第三个文本框"); else $("#v0").html("隐藏第三个文本框"); }); $("#ml").click(function(e) { var flag2 = $(this).prop("checked"); if(flag2){ t1.css('width','300px'); $("#v1").html("变短第一个文本框"); } else{ t1.css('width','169px'); $("#v1").html("变长第一个文本框"); } });});</script></body></html>

js判断checkbox是否选中 .checked不管用

今天开发遇到一个小问题,记小本本记小本本

document.getElementById("id").checked
//正确
//如果返回值为true代表选中
//如果返回值为false代表未选中
document.getElementsByClassName("class").checked
//不能得到ture,false这样的返回值

问题出在哪了呢,我用调试工具看一下

显而易见,用id取返回的是数组,用class取返回的是对象数组(即便他只有一个值)
所以应该这么写
document.getElementsByClassName("a1")[0].checked

下面的方式是补充

网上大多数文章都提供的方法都是无效的,害死个人,本文中的方法小编亲测试有效,建议使用方法二:

方法一:

if ($("#checkbox-id")get(0).checked) {
// do something
}

方法二:

if($('#checkbox-id').is(':checked')) {
// do something
}

方法三:

if ($('#checkbox-id').attr('checked')) {
// do something
}

这篇文章就介绍到这了,基本上没问题了吧,希望大家以后多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章