jQuery判断checkbox选中状态
前言
神奇的JQuery怎么设置checkbox状态时好时坏?明明同一行代码,断点跟踪确实执行了,有时候好使,有时候却没有生效。毕竟对JS不是很熟悉,只是通过JS来处理前端HTML的标签的状态设置时,通过JQuery有时候会更方便些的,发现更不好办。
今天尝试实现checkbox全选、全不选功能,与App开发中的效果是一样的,勾选全选则将所有的选项都选中;同样取消勾选某个子项也将全选设置为非选中状态;所有子选项都为选中状态时,将全选设置为选中状态。
由于对JS不是很熟悉,于是尝试各种百度、google,发现出来的文章都是坑爹啊。各种JQuery的,为什么我设置了就是没有作用的。起初以为是变量获取不到,于是断点跟踪,对象是取到了的,设置JQuery的方法来设置就是没有作用。
搜到的处理方式
这里的checkbox的id为cbxSelectAll,于是尝试这么写
$('#cbxSelectAll').attr('checked', true);
结果是无效的。再尝试修改为
$('#cbxSelectAll').attr('checked', 'checked');
结果是第一次设置生效了,再设置就没有生效。坑爹,这到底是什么东西,怎么时好时坏呢?
然后在设置为false时,这么写
$('#cbxSelectAll').attr('checked', false);
// 也没有作用
//$('#cbxSelectAll').attr('checked', '');
果然是都没有作用。通过狼蚁网站SEO优化的设置,可以取消选中
$('#cbxSelectAll').removeAttr('checked');
难道是年代久远,这些方法已经不再有效了吗?
解决办法
的解决办法还是放弃了JQuery,改用Javascript原生的Dom来设置。
狼蚁网站SEO优化是设置为全选或者取消全选状态的代码
varcheckboxes = document.getElementsByName('selectIds'); varselectedCount = 0; varunSelectCount = 0; for (var i = 0; i < checkboxes.length; i++) { varcheckbox = checkboxes[i]; if(checkbox.tagName == "INPUT" && checkbox.checked){ selectedCount++; } else if (checkbox.tagName == "INPUT" && checkbox.checked == false) { unSelectCount++; } } if (selectedCount == checkboxes.length) { document.getElementById('cbxSelectAll').checked = true; } else if (unSelectCount != checkboxes.length) { document.getElementById('cbxSelectAll').checked = false; }
JQuery获取状态
JQuery通过checkbox的is函数来获取状态
varisChecked = $('#cbxSelectAll').is(':checked');
之前尝试过使用attr函数来获取,获取的值显示为null
// 显示为null,好生奇怪
varisChecked = $('#cbxSelectAll').attr('checked');
,我们也可以直接使用Javascript原生的Dom方式来获取,肯定是没有问题的
varisChecked = document.getElementById('cbxSelectAll').checked;
小结
玩前端JQuery果然要比玩原生的JavaScript要吃力些,虽然有很多时候可以使代码更方便书写。不过还是两者结合来做吧。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程