复选框使用总结

对复选框最基本的应用, 就是对复选框进行全选,反选和全不选等操作.复杂的操作需要与选项挂钩,来达到各种级联效果.

首先在空白网页中创建一个表单, 其中放入一组复选框:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <form action="">
 9     你爱好的运动是?<br/>
10     <input type="checkbox" name="items" value="足球"/>足球
11     <input type="checkbox" name="items" value="篮球"/>篮球
12     <input type="checkbox" name="items" value="羽毛球"/>羽毛球
13     <input type="checkbox" name="items" value="兵乓球"/>兵乓球
14     <input type="checkbox" name="items" value="排球"/>排球<br/>
15     <input type="button" id="CheckedAll" value="全选"/>
16     <input type="button" id="CheckedNo" value="全不选"/>
17     <input type="button" id="CheckedRev" value="反选"/>
18     <input type="button" id="send" value="提交">
19 </form>
20 <script type="text/javascript" src="js/jquery-1-8-3.js"></script>
21 <script type="text/javascript">
22     $(function () {
23         //全选
24         $("#CheckedAll").click(function () {
25             $("[name = items]:checkbox").attr("checked",true);
26         });
27         //全不选
28         $("#CheckedNo").click(function () {
29             $("[name = items]:checkbox").attr("checked",false);
30         });
31         //反选
32         /***
33          * 反选需要循环每一个复选框进行设置,取他们值得反值.
34          */
35         $("#CheckedRev").click(function () {
36             $("[name = items]:checkbox").each(function(){
37                 $(this).attr("checked",!$(this).attr("checked"));
38             });
39         });
40         /***
41          * 此处用jQuery的attr()方法来设置属性checked的有些复杂,如果改用javascript原生的DOM方法,将比jQuery对象更有效和简洁.
42          */
43         $("#CheckedRev").click(function () {
44             $("[name = items]:checkbox").each(function(){
45                this.checked = !this.checked;
46             });
47         });
48         /***
49          * 复选框选中后,用户单机提交按钮, 需要将选中的项的值输出.可以通过val()方法获取选中的值.
50          */
51         $("#send").click(function () {
52             var str = "你选中的是:\r\n";
53             $("[name = items]:checkbox:checked").each(function(){
54                 str += $(this).val() + "\r\n";
55             });
56             console.log(str);
57         });
58     });
59 </script>
60 </body>
61 </html>

效果截图:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <form action="">
 9     你爱好的运动是?<br/>
10     <input type="checkbox" id="CheckedAll"/>全选/全不选<br/>
11     <input type="checkbox" name="items" value="足球"/>足球
12     <input type="checkbox" name="items" value="篮球"/>篮球
13     <input type="checkbox" name="items" value="羽毛球"/>羽毛球
14     <input type="checkbox" name="items" value="兵乓球"/>兵乓球
15     <input type="checkbox" name="items" value="排球"/>排球<br/>
16     <input type="button" id="send" value="提交">
17 </form>
18 <script type="text/javascript" src="js/jquery-1-8-3.js"></script>
19 <script type="text/javascript">
20     $(function () {
21         //全选
22 //        $("#CheckedAll").click(function () {//如果当前单机的复选框被选中
23 //            if(this.checked){
24 //                $("[name = items]:checkbox").attr("checked",true);
25 //            }else{
26 //                $("[name = items]:checkbox").attr("checked",false);
27 //            }
28 //        });
29
30         /***
31          * 所有复选框的checked属性的值和控制全选的复选框的checked属性的值是相同的, 因此可以省略if判断,直接赋值
32          */
33
34 //        $("#CheckedAll").click(function () {//如果当前单机的复选框被选中
35 //            $("[name = items]:checkbox").attr("checked",this.checked);
36 //        });
37
38         /***
39          * 当单机id为CheckedAll的复选框后, 复选框组被选中.
40          * 当复选框组里取消某一个选项的选中状态, id为CheckedAll的复选框并没有被取消选中状态.
41          * 而此时需要它和复选框能够联系起来,即复选框组里如果有一个或者更多没选中时,则取消d为CheckedAll的复选框的选中状态.
42          * 如果复选框组被选中时,则d为CheckedAll的复选框也自动被选中.
43          * 因此需要对复选框组进行操作, 以通过他们来控制d为CheckedAll的复选框.
44          * (1)对复选框组绑定单击事件.
45          * (2)定义一个flag变量, 默认为true
46          * (3)循环复选框组, 当有没被选中的项时,则把变量flag的值设置为false.
47          * (4)根军变量flag的值来设置id为CheckedAll的复选框是否选中.
48          */
49
50         $("#CheckedAll").click(function () {//如果当前单机的复选框被选中
51             $("[name = items]:checkbox").attr("checked",this.checked);
52         });
53 //        $("[name = items]:checkbox").click(function () {
54 //            var flag = true;
55 //            $("[name = items]:checkbox").each(function () {
56 //                if(!this.checked){
57 //                    flag = false;
58 //                }
59 //            });
60 //            $("#CheckedAll").attr("checked", flag);
61 //        });
62         /***
63          * 另一种办法
64          * (1)对复选框绑定单击事件
65          * (2)判断复选框的总数是否与选中复选框数量相等.
66          * (3)如果相等,则说明全部选中,否则不选中.
67          */
68         $("[name = items]:checkbox").click(function () {
69             //定义一个临时变量, 避免重复使用同一个选择器选择页面中的元素, 提高程序效率
70             var $tmp = $("[name = items]:checkbox");
71             //用filter()方法筛选出选中的复选框,并直接给CheckedAll赋值
72             $("#CheckedAll").attr("checked", $tmp.length == $tmp.filter(":checked").length);
73         });
74
75         $("#send").click(function () {
76             var str = "你选中的是:\r\n";
77             $("[name = items]:checkbox:checked").each(function(){
78                 str += $(this).val() + "\r\n";
79             });
80             console.log(str);
81         });
82     });
83 </script>
84 </body>
85 </html>

下过截图:

时间: 2024-10-07 16:37:36

复选框使用总结的相关文章

jQuery学习(五)——使用JQ完成复选框的全选和全不选

1.在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框的选中状态设置成跟上面的一致! 2.具体代码实现: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>使用jQuery完成复选框的全选和全不

[CSS揭秘]自定义单选框和复选框

很多Web前端工程师肯定都会遇到过,在项目中,UI设计师跑来跟你说,我这个地方的表单控件需要设计成这个样子那个样子.但是用CSS却不能够修改这些控件的默认样式,于是乎,只能通过div+javascript技术来进行模拟.特别是在如今移动端的崛起时代,更加注重用户的体验.于是就更加需要这样一种hack技术. 如果对如今的前端框架有过了解,都会知道组件这个概念.那么在这些框架中,都会提供一些单选框或复选框按钮组件.可见大家之前受到表单元素的默认样式的毒害有多深. 今天先给大家简单介绍一下如何通过CS

HTML页面中A博娱乐复选框的操作方法

A博娱乐复选框在网页中很是常见,无论是电商网站,还是平台,只有有需要选择的地方就会见到复选的身影.接下来,是我之前写过的两个小demo,都是关于复选框的,希望会给大家带来帮助. 第一个是关于复选框全选反选的操作,当然我在里面还加了一个小功能,就是当选择底下尚品或者其他的东西的复选框全部为选中状态时则全选按钮也变为选中状态:反之亦然. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3

CSS 美化复选框 - 无图片方式

今天和大家分享一个不使用图片美化复选框的方式.来看下效果图吧,如下是3种不同状态下的效果: 一. Html结构 <div class="check-wrap"> <input type="checkbox" class="icheck" id="icheck" /> <label for="icheck" class="ilabel"></lab

Spring MVC-表单(Form)标签-复选框(Checkbox)示例(转载实践)

以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_checkbox.htm 说明:示例基于Spring MVC 4.1.6. 以下示例显示如何使用Spring Web MVC框架在窗体中使用单个复选框.首先,让我们使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态窗体的Web应用程序: 步骤 描述 1 创建一个名为HelloWeb的项目,在一个包com.tutorialspoint

vue.js实现单选框、复选框和下拉框

Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框 在传统的HTML中实现单选框的方法如下: <div id="app"> <input type="radio" name="gender" value="man" id="man"/><label

jquery实现复选框全选,全不选,反选中的问题

今天试了一下用jquery选择复选框,本来以为很简单的东西却有bug,于是搜索了一下找到了解决方法. html代码如下(这里没有用任何样式,就没有再放css了): <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="test_ch5.css" > <title>test_ch5</title> &

jquery中input复选框的checked属性

在今日的多选,反选,全选试验中,关于通过jQuery方法来实现复选框的选中与否问题,我有了以下发现: 1.不能通过.css('checked','checked')方法来设置或者获取复选框的checked属性,在控制台打印输出.css('checked'),结果为undefined, 不管在HTML中是否设置了checked='checked'; 2.通过attr添加属性即.attr('checked','abc'),会给HTML中input所在处添加checked='checked'这样的代码

纯css3实现美化复选框和手风琴效果(详细)

关键技术点和原理: 原理就是把 checkbox或 radio 给隐藏掉   ,然后给选框 绑定一个label标签. 然后用label标签作为容器,在里面放一个:before或一个after 用before模拟选框的框,用after来模拟选框的填充 通过 .magic-checkbox:checked + label:after {/*选框被选中时 显示after填充*/ display: block; } 来确定是否选中复选框,如果checked就把after的显示. 先贴出html的代码 <

juery实现复选框checkbox全选或者不选

js判断复选框是否选中,用this.checked: jq的checked设置值,用true或者false;