jquery操作checkbox火狐下第二次无法勾选问题

原来的代码:

$(‘#checkAll‘).click(function(){
                var current = $(this)
                $(‘.checkbox‘).each(function(){
                    debugger;
                    if(current.is(‘:checked‘)) {
                        $(this).attr(‘checked‘, true);
                    } else {
                        $(this).attr(‘checked‘, false);
                    }
                });
            })

这样在firefox和chrome浏览器下第二次勾选时,属性改变了,页面显示没有改变。经百度发现是JQUERY版本的问题。

$(‘#checkAll‘).click(function(){
                var current = $(this)
                $(‘.checkbox‘).each(function(){
                    debugger;
               	 if(current.is(‘:checked‘)) {
               		 $(this).prop(‘checked‘, true);
               	 } else {
               		 $(this).prop(‘checked‘, false);
               	 }
                });
            })

  把attr换成prop即可解决。

时间: 2024-08-25 17:52:50

jquery操作checkbox火狐下第二次无法勾选问题的相关文章

jquery,checkbox无法用attr()二次勾选

今晨,漂亮的测试妹妹提了个奇怪的bug,说我一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了. 想到与美女有亲密接触机会,马上鸡动起来. 经过偶层层抽次剥茧(da da jiang you),终于知道了原因:attr()在二次选中勾选框时,失效. 比如,如下HTML页面,一点[选中].二点[取消选中].三点[选中],瞧,不行了呗. <!doctype html> <html lang="en"> <head> <me

解决jquery操作checkbox全选全不选无法勾选问题

最近在学习中使用jquery操作checkbox,使用下面方法进行全选.反选:$("input[name='checkbox']").attr("checked","checked");调试时,前两次都没有问题,可以正常显示选中和取消,但当再去选中的时候,复选框的属性checkbox值变为"checked",没问题,但是复选框却不在显示选中状态,明明属性值改了,但是却不显示勾选,太诡异了.代码修改了却得不到正确的显示状态,纠结

jquery操作checkbox,诡异

今天这样写了一个全选和取消全选的功能: 全选:$(":checkbox").attr("checked","checked"); 取消全选:$(":checkbox").removeAttr("checked"); 获取选中的:$(":checked[checked='checked']") 发现点全选可以,在点取消全选也可以,获取选中的失效,接下来再点任何按钮都没有效果了 这样行不通,

JQuery操作CheckBox 第二次无法选中的问题

用JQuery做CheckBox全选和反选的时候,遇到一个问题.当用JQ控制全选,全取消一次以后,再次点击全选,发现代码变了,但是CheckBox没有处于选中状态. 百度后得知: 我使用的方法是 $("#id").attr("checked",true); 方式,jQuery API明确说明,1.6+的jQuery要用prop,尤其是checkBox的checked的属性的判断.因此修改为 $("input[type='checkbox']").

jQuery操作checkBox(多选框)

问题:工作中要用到jQuery操作多选框(checkbox)的知识,就把以前记录及笔记找了出来直接用,但是问题出现了,取消选择之后,再次选中指定的多选框,用浏览器看(F12)是加上了checked属性,但是页面显示没有选中(没有打勾),这里把解决问题的方法总结一下. 下面给出一种解决方案(使用的jQuery版本2.1.3): 1.静态页面CheckBox.html(注意:必须要在check标签里面加上select属性) <!DOCTYPE html> <html> <head

jquery.autocomplete在火狐下的BUG解决

该插件在火狐下使用拼音输入法输入,回车后无法即使响应事件,需要再输入别的字母才会响应事件 主要原因: 该插件响应主要监听了keydown事件 其他浏览器在打开中文输入法的情况下输入的拼音字母是不会触发响应keydown事件的 而火狐是个例外,在你输入汉字的情况下,你输入的拼音也会触发keydown事件,因此就不正常了,只有通过别的方式再次重新触发响应事件才正常 解决思路: 1.keydown换成keyup,但这样会影响插件中回车键和tab键的事件,并不是个完美的解决方案 2.(推荐) 在该插件$

jquery uploadify在火狐下无法上传的解决方案(.Net版)

走吧,一起来探个究竟. 一.jquery uploadify自我介绍: (1).大家好,我是jquery插件大家族中负责实现异步上传的插件,我不是唯一,只是较好用的一款. (2).我的功能: 支持单文件或多文件上传,可控制并发上传的文件数 在服务器端支持各种语言与之配合使用,诸如PHP,.NET,Java…… 通过参数可配置上传文件类型及大小限制 通过参数可配置是否选择文件后自动上传 易于扩展,可控制每一步骤的回调函数(onSelect, onCancel……) 通过接口参数和CSS控制外观 U

解决jQuery操作checkbox第二次失效的问题

$("#selectInverse").click(function(){ $(":checkbox").each(function(){ $(this).attr("checked",!$(this).attr("checked")); }) }); 困扰多时的checkbox二次选择失败问题原来是jquery版本升值的问题.和人一样,老了问题就来了. 1.6+的jQuery要用 prop,替代 attr 尤其是checkB

JQuery 操作 checkbox 二次赋值无效 attr ----&gt; prop

CheckBox .attr('checked',false);  Chrome和火狐第二次点击无效. 然后解决了把attr 改成了 prop 以后操作属性的时候各位记下,用prop 因为大家用的都是 jQuery 1.6+ 了! if(black.use_type == 1){ $("#use-type1").prop("checked",true); $("#use-type2").prop("checked",false