jQuery——操作复选框(checkbox) attr checked不起作用

这天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 attr(‘checked’,‘checked’);与attr(‘checked’,true); 都不好使,要么第一次成功了,第二次调用就没反应,完全不起作用了。那到底是什么原因呢?

害得‘跑客教授’到处到网上搜 jQuery checkbox的操作,动态选择的相关文章,都写着是这样的实现代码

$(‘input[type=checkbox]‘).attr(‘checked‘,‘checked‘);//全选,设置属性

$(‘input[type=checkbox]‘).attr(‘checked‘,true);//全选,设置属性,通过true布尔值形式

$(‘input[type=checkbox]‘).attr(‘checked‘,false);//不选择,布尔值形式

$(‘input[type=checkbox]‘).removeAttr(‘checked‘,‘checked‘);//不选选,删除属性

但是测试结果发现,屡试不爽啊,选择一次全选,再调用一次反选,再去调用全选就没效果了。 
难道是 removeAttr 的原因?还是‘跑客教授’使用过新的 jQuery 1.9.1版本。(还是说我要使用原生的javascript代码来完成这项工作呢?)

这些都不是理由,理由应该 是自己没有用好。不可能这么牛比的框架这么简单的功能都不能实现(也不要轻意怀疑浏览器的问题)

最终解决方案

还是到官网,搜索了’checkbox’,找到一文章,仔细查看了吓,有一个类似的操作是

$(‘obj‘).attr(‘checked‘,true);

$(‘obj‘).prop(‘checked‘,true);

$(‘obj‘).attr(‘checked‘,false);

$(‘obj‘).prop(‘checked‘,false);

好了,擦亮你的眼睛,没错最后用的是 prop方法操作一切就OK啦。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址

时间: 2024-08-07 21:19:26

jQuery——操作复选框(checkbox) attr checked不起作用的相关文章

jQuery 操作复选框(checkbox) attr checked不起作用

jQuery 更改checkbox的状态,无效 $(this).attr("checked", false).checkboxradio("refresh");     //应该这么写吧,少了$这个东东~~~跟js混淆了 jQuery 操作复选框(checkbox) attr checked不起作用 这 天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 attr(‘checked’,'checked’);与attr(‘checked’,t

jquery操作复选框(checkbox)的12个小技巧总结

1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$("input:[type='checkbox']:checked").val();或者$("input:[name='ck']:checked").val(); 2. 获取多个checkbox选中项$('input:checkbox').each(function() {        if ($(this).attr('che

Jquery操作复选框(CheckBox)的取值赋值实现代码

赋值 复选框 CheckBox 遍历 取值 1. 获取单个checkbox选中项(三种写法): $("input:checkbox:checked").val() 或者 $("input:[type='checkbox']:checked").val(); 或者 $("input:[name='ck']:checked").val(); 复制代码 2. 获取多个checkbox选中项: $('input:checkbox').each(funct

jquery操作复选框(checkbox)

1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$("input:[type='checkbox']:checked").val();或者$("input:[name='ck']:checked").val(); 2. 获取多个checkbox选中项$('input:checkbox').each(function() {        if ($(this).attr('che

关于jQuery操作复选框checkbox的attr无效的问题的解决方案

q用了10版本的,一直发现attr无效,其实解决问题的方法是很简单的,主要的问题是由于 新版本attr换成了prop的问题. $("input[name='delIds']").prop("checked",this.checked);

对jquery操作复选框

摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-1.11.2.min.js"></script><!--引入jquery-1.11.2.min.js要在最上面--

不同版本的jquery的复选框checkbox的相关问题

在尝试写复选框时候遇到一个问题,调试了很久都没调试出来,极其郁闷: IE10,Chrome,FF中,对于选中状态,第一次$('#checkbox').attr('checked',true)可以实现 但是当通过代码清除选中,下次再通过代码 $('#checkbox').attr('checked',true) 去选中时 虽然代码中有checked='checked',但是画面表现都没有打勾. 例如如下的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

jquery获取复选框checkbox的值

jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素(复选框.单选框等,不包括select中的option) Js代码 收藏代码 //js获取复选框值 var obj = document.getElementsByName("interest");//选择所有name="interest"的对象,返回数组 var s='';//如果这样定义var s;变量s中会默认被赋

吾八哥学Selenium(三):操作复选框checkbox/单选框radio的方法

复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利用Selenium来操作这俩控件呢?今天我们就来简单入门练习一下! html测试页面代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>学Python网 - seleni