本篇文章是关于复选框的,有2种形式:1、全选、反选由2个按钮实现;2、全选、反选由一个按钮实现。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>复选框demo</title> <script src="../js/jquery-1.10.2.js" type="text/javascript"></script> <style> body{ text-align:center} .con{ margin:100px auto; width:800px; height:400px; border:1px solid #F00; padding-top: 50px;} </style> </head> <body> <div class="con"> <span><input type=‘checkbox‘ name=‘select‘ onclick=‘allSelect()‘>全选</span> <span><input type=‘checkbox‘ name=‘cancel‘ onclick=‘unAllSelect()‘>反选</span> <span><input type=‘checkbox‘ name=‘fruit‘ />苹果</span> <span><input type=‘checkbox‘ name=‘fruit‘ />香蕉</span> <span><input type=‘checkbox‘ name=‘fruit‘ />梨子</span> <span><input type=‘checkbox‘ name=‘fruit‘ />桃子</span> <span><input type=‘checkbox‘ name=‘fruit‘ />西瓜</span> <br><br><br> <span><input type=‘checkbox‘ id="allBook" name=‘allBook‘ />全选</span> <span><input type=‘checkbox‘ name=‘book‘ />老子</span> <span><input type=‘checkbox‘ name=‘book‘ />尚书</span> <span><input type=‘checkbox‘ name=‘book‘ />周易</span> <span><input type=‘checkbox‘ name=‘book‘ />诗经</span> <span><input type=‘checkbox‘ name=‘book‘ />孟子</span> <span><input type=‘checkbox‘ name=‘book‘ />中庸</span> <script type="text/javascript"> //全选 function allSelect(){ $("input[name=‘fruit‘]").prop("checked", "checked"); $("input[name=‘cancel‘]").removeAttr("checked"); } //反选 function unAllSelect(){ $("input[name=‘fruit‘]").removeAttr("checked"); $("input[name=‘select‘]").removeAttr("checked"); } //单选 $("#allBook").click(function(){ if(this.checked){ // $("input[name=‘book‘]").attr("checked", true); $("input[name=‘book‘]").prop("checked", "checked"); }else{ // $("input[name=‘book‘]").attr("checked", false); $("input[name=‘book‘]").removeAttr("checked"); } }); </script> </div> </body> </html>
在实践中碰到一个问题——check全选失效。解决办法,使用prop方法代替attr。
$("input[name=‘book‘]").attr("checked", "checked"); $("input[name=‘book‘]").prop("checked", "checked");
这或许是和jQuery版本有关。
时间: 2024-10-19 19:27:02