jquery实现全选、全不选、反选、获取选中的所有值总结
HTML
我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮。
- <!doctype html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>checkbox2</title>
- <style>
- li {
- list-style:none;
- }
- </style>
- <script src="js/jquery-1.7.2.min.js"></script> <!-- 务必要引用jquery库文件 -->
- </head>
- <body>
- <ul id="list">
- <li><label><input type="checkbox" value="1"> 1.如梦一场</label></li>
- <li><label><input type="checkbox" value="2"> 2.海阔天空</label></li>
- <li><label><input type="checkbox" value="3"> 3.Let It go</label></li>
- <li><label><input type="checkbox" value="4"> 4.不再犹豫</label></li>
- <li><label><input type="checkbox" value="5"> 5.光辉岁月</label></li>
- <li><label><input type="checkbox" value="6"> 6.泡沫</label></li>
- </ul>
- <input type="checkbox" id="all">
- <input type="button" value="全选" class="btn" id="selectAll">
- <input type="button" value="全不选" class="btn" id="unSelect">
- <input type="button" value="反选" class="btn" id="reverse">
- <input type="button" value="获得选中的所有值" class="btn" id="getValue">
- </body>
- </html>
jQuery
jQuery 事件 - ready() 方法有一下两种:
- $(document).ready(function(){});
- $(function(){});
需求:1、全选或全不选。当勾选全选按钮#selectAll旁边的复选框#all时,列表中的选项全部选中,反之取消勾选则列表中的选项全部为未选中状态。
//全选、全不选
- $("#all").click(function(){
- if (this.checked) {
- $("#list :checkbox").attr("checked",true);
- } else{
- $("#list :checkbox").attr("checked",false);
- };
- });
需求:2、全选。当点击全选按钮#selectAll或者勾选全选按钮旁边的复选框#all时,列表中所有的选项都会被选中,包括全选旁边的复选框也是选中状态。
- //全选
- $("#selectAll").click(function(){
- $("#list :checkbox,#all").attr("checked",true);
- });
需求:3、全不选。当点击全不选按钮#unSelect时,列表中所有的选项都是未选中状态,当然包括#all也是未选中状态。
- //全不选
- $("#unSelect").click(function(){
- $("#list :checkbox,#all").attr("checked",false);
- });
需求:4、反选。当点击反选按钮#reverse,列表中所有被选中的选项变为未选中状态,而所有未选中的选项变为已选中状态,当然也要注意#all的状态。
- //反选 each 遍历
- $("#reverse").click(function(){
- $("#list :checkbox").each(function(){
- $(this).attr("checked",!$(this).attr("checked"));
- });
- allchk();
- });
上述代码中遍历了选项列表,然后改变checked属性,调用函数allchk()是干什么的,别急,留在后面介绍(这部分和接下来的内容没有弄太明白,欢迎高手点评)。
5、获得选中的所有值。我们要跟后台程序交互就必须获取列表中所选项的值,我们通过遍历数组,将选中项的值存放在数组中,最后组成由逗号(,)隔开的字符串,开发者就可以通过获取这个字符串进行相应的操作了。
- $("#getValue").click(function(){
- var valArr = new Array;
- $("#list :checkbox[checked]").each(function(i){
- valArr[i] = $(this).val();
- });
- var vals = valArr.join(',');//转换为逗号隔开的字符串 join 拼合
- alert(vals);
- });
为了完善选中选项功能,我们在单击列表中某个选项时,如果勾选的项刚好满足全部选中的条件,则#all也要相应的变为选中状态,同样,如果事先所有的选项是选中状态时,当取消勾选某个选项时,那么#all也要相应的变为未选中状态。
- //设置全选复选框
- $("#list :checkbox").click(function(){
- allchk();
- });
- 函数allchk()就是用来检测全选框#all应该是选中状态还是未选中状态的,请看代码。
- function allchk(){
- var chknum = $("#list :checkbox").size();//选项总个数
- var chk = 0;
- $("#list :checkbox").each(function () {
- if($(this).attr("checked")==true){
- chk++;
- }
- });
- if(chknum==chk){//全选
- $("#all").attr("checked",true);
- }else{//不全选
- $("#all").attr("checked",false);
- }
- }
- 声明:文章来源于helloweba.com并保留原文链接:http://www.helloweba.com/view-blog-254.html
jquery实现全选、全不选、反选、获取选中的所有值总结的更多相关文章
- jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等
简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...
- jQuery遍历table中的tr td并获取td中的值
jQuery遍历table中的tr td并获取td中的值 $(function(){ $("#tableId tr").find("td").each(func ...
- Jquery获取选中的文本值
$(document).ready(function() { $(".contenttext").mouseup(function(e) { var txt; var parent ...
- 基于JQ的多选/全选/反选及获取选中的值
<!-- author:青芒 --> <!DOCTYPE html> <html lang="en"> <head> <met ...
- jQuery获取radio选中项的值【转藏】
<title></title> <script src="js/jquery-1.7.2.min.js"></script> < ...
- 利用jQuery实现CheckBox全选/全不选/反选
转自:http://www.cnblogs.com/linjiqin/p/3148259.html jQuery有些版本中实现CheckBox全选/全不选/反选会有bug,经测试jquery-1.3. ...
- jquery的全选/全不选/反选以及attr添加checked属性失败的解决办法
如下图: <head> <title></title> <style type="text/css"> div { border: ...
- 用jQuery实现全选-全不选-反选的功能
临近过年,刚学IT没多久的小白在这里祝大家在新的一年里:新春快乐,月月赚钱,天天开心,时时快乐,分分精彩,秒秒幸福,事事顺利 古人云:学而时习之,不亦说乎. 学习后经常温习所学的知识,也是件令人愉悦的 ...
- jQuery实现全选、不选和反选功能
jQuery结合Font Awesome字体图标实现全选.不选和反选功能 Font Awesome字体图标链接地址:http://www.fontawesome.com.cn/faicons/ 效果: ...
随机推荐
- Android L(5.0)源码之图形与图像处理之简单图片——Bitmap
最近在研究android 5.0的gallery模块,学习了相关的知识点,准备写点博客总结一下,有时间了会补充完整
- FastJson的用法
一.简单数据的序列化 pubic class UserInfo implements Serializable{ private String name; private int age; publi ...
- 关于学习方法的借鉴和有关C语言学习的调查
专长的高超技能获取的成功经验 在游戏方面,我相对于大多数人来说可能更为出色.首先是我投入了大量的时间进行游戏:其次,我几乎每天都会看一会教学视频来模仿:最后应该还是跟个人的天赋有点关系. 如果把这个类 ...
- 用Django Rest Framework和AngularJS开始你的项目
Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...
- Mybatis oracle多表联合查询分页数据重复的问题
Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于 ...
- 【贪心】【堆】Gym -100956D - Greedy Game
题意:给定n个物品,每个物品对于A和B来说具有不同的价值,记为ai,bi,两人交替取,A先手,A总是贪心地取当前剩下的物品中,对于他价值最高的,如果有多个,则任取一个.问B在最坏情况下,能取到的物品的 ...
- call的初步理解
首先说下call的本质是一个函数 模Function.prototype.call = function(context){ // this表示某函数,函数里面的this先被替换成context,然后 ...
- var d = document.getElementById 错误
var d = document.getElementById; var s = d("demo").innerHTML; alert(s); // IE 没有问题,其他浏览器必须 ...
- PHP根据设备类型自动跳转相应网址页面,这个现在实用
现在移动设备上网也很方便,比如Android智能手机,iPhone/iPad等,很多网站都相继推出了针对电脑和这些手机等移动设备访问的网页,如果你的系统是用PHP写的,那面本代码对你会很实用,可根据这 ...
- Java jsp基本结构
<!DOCTYPE html> <!-- [ published at 2015-11-13 12:30:50 ] --> <html> <head> ...