jQuery控制checkbox选中状态但是不显示选中
问题描述:使用jQuery来控制checkbox的选中状态,但是第一次点击出现选中样式,之后点击可以看到checked的属性增加成功但是并没有选
中状态。
问题代码:
function chooseAllOrNot(id){
var choose=$("input[name='"+id+"']").attr('checked');
if(choose=='checked'){
$("input[type=checkbox][name='"+id+"']").removeAttr('checked');
choose=$("input[name='"+id+"']").attr('checked');
}else{
$("input[type=checkbox][name='"+id+"']").attr('checked', 'true');
choose=$("input[name='"+id+"']").attr('checked');
}
}
解决方法:
function chooseAllOrNot(id){
var choose=$("input[name='"+id+"']").prop('checked');
if(choose){
$("input[type=checkbox][name='"+id+"']").removeProp('checked');
choose=$("input[name='"+id+"']").prop('checked');
}else{
$("input[type=checkbox][name='"+id+"']").prop('checked', true);
choose=$("input[name='"+id+"']").prop('checked');
}
}
或者使用javascript原生代码来实现
var fir = document.getElementsByName("name");
for(var i=fir;i<fir.length;i++){
fir[i].checked = true;
}
总结:使用attr()给属性checked赋值,发现无论赋予什么值,只要给这个属性赋值了就是选中状态,使用.attr('checked', 'true');
和.attr('checked', 'false'),结果都是选中状态,可以使用attr()和removeAttr(),或者使用.attr('checked', true);和.attr
('checked', false),但是使用attr()出现了只有第一次会出现选中和取消选中的状态,后面点击没有选中状态但是代码显示对checked属性控制成
功的,只能改为使用prop()或者使用javascript原生代码来控制,才不会出现上述情况。
附:
什么时候使用attr(),什么时候使用prop()?
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其他则使用attr();
jQuery控制checkbox选中状态但是不显示选中的更多相关文章
- jQuery 更改checkbox的状态,无效
今天写页面遇到复选框动态全选或全不选问题,正常写法如下: $("#tb").find("input[type='checkbox']").attr(" ...
- jQuery实现checkbox(复选框)选中、全选反选代码
谁都知道 在html 如果一个复选框被选中 是 checked="checked". 但是我们如果用jquery alert($("#id").attr(&qu ...
- jquery关于checkbox复选框是否被选中的问题
本人在项目中需要用到,判断哪些复选框被用户选中.自然而然想到用 if($('').attr('checked') == true) 但是不管有没有选,$('').attr('checked')返回的都 ...
- jquery 获取 CheckBox 的状态
<td style="width:220px;vertical-align:central;"><input type="checkbox" ...
- 实现CheckBox的三种选中状态(全选、半选、不选)在GridView中模拟树形的功能
度娘了很多帖子,只说三种状态要用图片替换来做,但没找到有用的例子,被逼自己写了一个 三方控件肯定是很多的,如jstree,可以直接用 由于公司的UDS限制,不能上传图片,只能文字说明了. 就是要在gr ...
- Jquery判断checkbox是否被选中
jQuery中: $("input[type='checkbox']").is(':checked') 返回true或false 1.attr()方法 设置或者返回备选元素的值 ...
- Dtree 添加 checkbox 复选框 可以默认选中
一:目标 要实现用一个树形结构的展示数据,每个节点(除了根节点)前有一个checkbox,同时,点击父节点,则子节点全选或者全不选,当选中了全部子节点,父节点选中:如下图所示: 同时可以在创建的时候, ...
- 关于JQuery设置checkbox checked 的问题
近日做一个关于JQuery表单验证,有一个比较奇葩的要求,即checkbox是为必填项,textbox不是必填的. 而checkbox与textbox又是相关的,填写了textbox,则其上方的che ...
- JQuery遍历CheckBox踩坑记
$("#checkbox_id").attr("checked"); //获取一个CheckBox的状态(有没有被选中,返回true/false) $(&quo ...
随机推荐
- Flume 中文入门手冊
原文:https://cwiki.apache.org/confluence/display/FLUME/Getting+Started 什么是 Flume NG? Flume NG 旨在比起 Flu ...
- CSplashScene类
#ifndef __TRANSITIONSCENE_H__ #define __TRANSITIONSCENE_H__ #include "GameFrameHead.h" cla ...
- python内置函数之dict()
class dict(**kwargs) 返回一个字典.本方法用来创建一个字典对象.只能传入一个参数. >>> dict(a=1) {'a': 1} 也可以传入映射函数作为参数 &g ...
- ParagraphFormat 对象【精品】
ParagraphFormat 对象 贡献者:motolola 日期:2009-05-27 阅读:5261 回复: 相关标签:wps > API > paragraphfo ...
- OpenERP 7 picking order 继承需要注意的地方
stock.picking.out 和 stock.picking.in 都是继承自stock.picking 新添加columns时需要注意,在stock.picking.out和stock.pi ...
- Android——Android Studio的一些小技巧(转)
ndroid课程---Android Studio的一些小技巧 APK瘦身 在Android Studio中我们可以开启混淆,和自动删除没有Resources文件,来达到给APP瘦身的目的,这对于 ...
- 编译FFmpeg for iOS
2项依赖: gas-preprocessor(见附录:gas-preprocessor简介) yasm 1.2.0 如果要集成x264和fdk_aac,需要先编译x264和fdk_aac. Usage ...
- 从此sudo不再输密码
#sudo visudo 最后一次输入密码. 在最后一行加入: xxx ALL=NOPASSWD: ALL xxx即为你当前使用的用户名,Ctrl+X,保存退出. 从此告别每次都要输密码的时代.
- 008Maven_建立私服
参考博客:http://blog.csdn.net/fengspg/article/details/22507737 .1. Maven私服 关于中央仓库注意事项 l 地址: 目前来说: htt ...
- android 编译模块
android 编译模块 在写完.c文件之后,需要加载到android上进行测试.使用arm-linux-gcc编译,并添加到android开发板上运行失败. 由于android与linux不同,需要 ...