今天来做一些练习,做全选练习

原生版的实现:

<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"> </style>
</head>
<script type="text/javascript">
window.onload = function(){
var items = document.getElementsByName("items"); var checkedAllBox = document.getElementById("checkedAllBox");
//全选
var checkedAllBtn = document.getElementById("checkedAllBtn");
checkedAllBtn.onclick = function(){ for(var i = 0; i<items.length;i++){
items[i].checked = true;
}
//更新全选和全不选
checkedAllBox.checked = true;
}
//全不选
var checkedNoBtn = document.getElementById("checkedNoBtn");
checkedNoBtn.onclick = function(){
for(var i = 0; i<items.length;i++){
items[i].checked = false;
}
//更新全选和全不选
checkedAllBox.checked = false;
}
//反选
var checkedRevBtn = document.getElementById("checkedRevBtn");
checkedRevBtn.onclick = function(){ for(var i = 0; i<items.length;i++){
items[i].checked = !items[i].checked;
if (!items[i].checked) {
checkedAllBox.checked = false;
}
}
}
//提交
var sendBtn = document.getElementById("sendBtn");
sendBtn.onclick = function(){
for(var i = 0; i<items.length;i++){
if(items[i].checked){
alert(items[i].value)
}
}
}
//通过点击全选和全不选,items也选中
checkedAllBox.onclick = function(){
for(var i =0;i<items.length;i++){
items[i].checked = this.checked;
}
}
//通过点击items,如果有全选则全选、全不选也出现
for (var i = 0; i < items.length; i++) {
items[i].onclick = function(){
checkedAllBox.checked = true; for(var j =0;j<items.length;j++){
if(!items[j].checked){
checkedAllBox.checked = false;
break
}
}
}
}
}
</script> <body> <form method="post" action="">
你爱好的运动是?<input type="checkbox" id="checkedAllBox" />全选/全不选 <br />
<input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球" />篮球
<input type="checkbox" name="items" value="羽毛球" />羽毛球
<input type="checkbox" name="items" value="乒乓球" />乒乓球
<br />
<input type="button" id="checkedAllBtn" value="全 选" />
<input type="button" id="checkedNoBtn" value="全不选" />
<input type="button" id="checkedRevBtn" value="反 选" />
<input type="button" id="sendBtn" value="提 交" />
</form>
</body> </html>

功能说明:
1. 点击'全选': 选中所有爱好
2. 点击'全不选': 所有爱好都不勾选
3. 点击'反选': 改变所有爱好的勾选状态
4. 点击'提交': 提示所有勾选的爱好
5. 点击'全选/全不选': 选中所有爱好, 或者全不选中
6. 点击某个爱好时, 必要时更新'全选/全不选'的选中状态

        $(function(){
var $items = $(":checkbox[name='items']");
var $checkedAllBox = $("#checkedAllBox");
//1. 点击'全选': 选中所有爱好
$("#checkedAllBtn").click(function(){ //$items.each(function(){
//this.checked = true;
//})
////全选/全不选选项
//$checkedAllBox[0].checked = true;
$items.prop("checked",true);
$checkedAllBox.prop("checked",true);
}); //2. 点击'全不选': 所有爱好都不勾选
$("#checkedNoBtn").click(function(){
$items.prop("checked",false);
$checkedAllBox.prop("checked",false);
}); //3. 点击'反选': 改变所有爱好的勾选状态
$("#checkedRevBtn").click(function(){
$items.each(function(){
this.checked = !this.checked;
})
$checkedAllBox.prop("checked",$items.filter(":not(:checked)").length===0)
}); //4. 点击'提交': 提示所有勾选的爱好
$("#sendBtn").click(function(){
$items.filter(':checked').each(function () {
alert(this.value)
})
});
//5. 点击'全选/全不选': 选中所有爱好, 或者全不选中
$checkedAllBox.click(function(){ $items.prop("checked",this.checked);
}); //6. 点击某个爱好时, 必要时更新'全选/全不选'的选中状态
$items.click(function(){
$checkedAllBox.prop("checked",$items.filter(":not(:checked)").length===0)
}) })

全选练习-原生版和jQuery的更多相关文章

  1. jq变态全选vs原生变态全选

    <script> $(function(){ var num=0; $("#btn").on('click',function(){ if(this.checked){ ...

  2. Jquery的点击事件,三句代码完成全选事件

    先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  3. jQuery全选/反选checkbox

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. jQuery入门简单实现反选与全选

    //html代码<input type="checkbox" id= 'all' value="全选"> 选择全部 一键上路 <input t ...

  5. Jquery学习之路(一) 实现checkbox全选方法

    昨天早上有写到怎么利用Jquery实现全选 根据大家的意见对程序中一些写法不好的地方进行了修改,也是本人水平有限,存在各种考虑不到的地方. 文章最后我提出了一个问题,要写一个通用的方法来调用,于是就有 ...

  6. 列表中checked全选按钮的实现

    用过音乐播放器的人都知道有个全选按钮,如果使用Jquery实现,有个直接选中checked标签的方式 <!DOCTYPE HTML> <html> <head> & ...

  7. jquery版的全选,全不选和反选

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...

  8. jQuery对复选框(checkbox)的全选,全不选,反选等的操作

    效果截图: HTML代码: <body><ul id="list"> <li><label><input type=" ...

  9. 利用jQuery实现CheckBox全选/全不选/反选

    转自:http://www.cnblogs.com/linjiqin/p/3148259.html jQuery有些版本中实现CheckBox全选/全不选/反选会有bug,经测试jquery-1.3. ...

随机推荐

  1. 【SQLSERVER】处理一对多标签的语法糖

    数据库表设计的时候,经常会出现一对多的情况,比如标签.明细之类的. 有时,需要在一个查询中,将每个主体的所有标签在一个字段中展示出来,这个时候就可以用 FOR XML PATH 这个语法轻易的实现. ...

  2. 13-[CSS]-postion位置:相relative,绝absolute,固fixed,static(默认),z-index

    1.postion位置属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  3. 7-[CSS]-css介绍,引入方式

    1.CSS介绍:层叠样式表(Cascading Style Sheets) 我们为什么需要CSS? 使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离 在没有CSS之前 ...

  4. 微信小程序:选项卡页面切换

    一.功能描述 在同一个页面内实现不同展示页面的切换功能,如下图所示 二.代码实现 1. index.js Page({ /** * 页面的初始数据 */ data: { currentData : 0 ...

  5. metasploit-端口扫描

    大体可以分为两种方式: 1.调用nmap进行端口扫描 msfconsole nmap -v -sV www.cstc.org.cn 扫描结果(端口开放情况以及目标服务操作系统相关操作信息) PORT ...

  6. [转载]如何用Visual Studio制作安装包

    原文地址:如何用Visual Studio制作安装包作者:蓝羽幽游 环境:Microsoft Visual Studio 2010 语言:C# 构架:.NET Framework 2.0 解决方案名称 ...

  7. arduino八段数码管使用

    一:八段数码管的使用 控制要求:0-9的计时数据 实物连接图: 控制代码: //智慧自动化2018.6.11 ;//定义数字接口7 连接a 段数码管 ;// 定义数字接口6 连接b 段数码管 ;// ...

  8. Allegro16.6结构文件dxf文件的输出与导入——凡亿PCB

    在pcb设计中,结构文件的导入是不可或缺的一个步骤,使用allegro16.6软件操作如下. 一.结构文件的输出 1.在allegro16.6将pcb颜色显示设置成只剩需要导出的结构. 2.看到all ...

  9. C#四则运算器(多态方法实现)

    在上一节C#课上,我们学习了用类的继承的方式来做一个四则运算器,然而老师的代码在课上演示的效果并不理想,而且没有使用多态的思想实现,今天我们就来用多态的方式实现四则运算器. 1. 题目及要求 2. A ...

  10. Tomcat性能优化方案

    1. 提高JVM栈内存Increase JVM heap memory 你使用过tomcat的话,简单的说就是"内存溢出". 通常情况下,这种问题出现在实际的生产环境中.产生这种问 ...