首先准备jsp页面控件:
请选择您的爱好:<br> <input type="checkbox" id="all" name="selectAll"value="全选"/>全选<br> <input type="checkbox" name="hobby"value="足球"/>足球 <input type="checkbox" name="hobby"value="蓝球"/>篮球 <input type="checkbox" name="hobby"value="乒乓球"/>乒乓球 <input type="checkbox" name="hobby"value="羽毛球"/>羽毛球<br/> <input type="button" id="checkAll" value="全选"> <input type="button" id="reverse" value="反选"> <input type="button" id="disAll" value="全不选">
效果:
用jquery实现以上功能,其中复选框可以全选/全不选,任意一项取消,复选框也会取消,直接上代码
<script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function(){ /* 全选按钮 */ $("#checkAll").click(function(){ $("input[name=‘hobby‘]").each(function(){ $(this).attr(‘checked‘,‘checked‘); }); }); /* 全不选 */ $("#disAll").click(function(){ $("input[name=‘hobby‘]").each(function(){ $(this).attr(‘checked‘,false); }); }); /* 反选 */ $("#reverse").click(function(){ $("input[name=‘hobby‘]").each(function(){ $(this).attr(‘checked‘,!$(this).attr("checked")) }); }); /* 全选 (复选框的全选)/全不选*/ $("#all").click(function(){ $("[name=hobby]:checkbox").each(function() { this.checked=$("#all")[0].checked; }); }); /* 全选(复选框),单个不选后状态设为false */ $("[name=‘hobby‘]").each(function () { $(this).click(function () { if ($("[name=‘hobby‘]:checked").length == $("[name=‘hobby‘]").length) { $("#all").attr("checked", "checked"); } else $("#all").removeAttr("checked"); }); }); }); </script>
值得一提的是复选框的全选全不选,采用js对象和jquery对象相互转化的思想,使得运算最简化。
时间: 2024-12-19 05:06:09