解决方案一:
代码如下:
1234全选/取消全选
总结:
对于html元素本身就带有的固有属性,在处理时,使用prop方法。
对于html元素我们自己自定义的dom属性,在处理时,使用attr方法。
参考 http://www.jb51.net/article/62308.htm
解决方案二:
问题描述:
$(.chooseall).click(function(){ if($(.chooseall).attr(checked) == checked){$(input[name='checkbox1']).removeattr(checked,checked); console.log(1); }else{ $(input[name='checkbox1']).attr(checked,checked); console.log(2); }});
上面的这个代码第一次点击和第二次点击,能实现全选和反选功能,但一遍之后就不再起作用,这是什么情况啊
除了第一个checkbox之外,其余的都是ajax动态生成的,跟这个有关系么?console.log每次点击的都能交替输出1和2,但就是中间的代码不能执行。
解决方案:
removeattr参数只需要一个,removeattr(checked)
不过建议替换成
$(.chooseall).click(function(){ if($(.chooseall).prop(checked) == true){ $(input[name='checkbox1']).prop(checked, false); console.log(1); }else{ $(input[name='checkbox1']).prop(checked, false); console.log(2); }});
或者更简洁的,
$(.chooseall).click(function(){ var ischecked = $(this).prop(checked); $(input[name='checkbox1']).prop(checked, ischecked);});
以上是jquery全选与反选点击执行一次的解决方案,希望对大家有所帮助。
