js 分页全选或反选标识实现代码


Posted in Javascript onAugust 09, 2011

注:对多选按钮操作。
1:批量全选添加、批量移除。
2:行单选添加、移除。
3:分页之后(全选或不选)状态标识依然存在

/* *****>****>tr单选事件 
------------------------------------------------------------------------------------*/ 
$("#ajaxshowmdqhList tbody tr").live("click",function(){ 
sx_tr_Value($(this),false,""); 
}); 
/* 筛选重复值 
------------------------------------------------------------------------------------*/ 
var cgdd_id_List=""; 
var array=new Array(); 
var is_add_id=true; 
var sx_tr_Value=function(obj,all_checked,ck_value) 
{ 
cgdd_id_List = $("#hfselectitemid").val(); 
if(!$(obj).find("input").attr("checked")) 
{ 
$(obj).find("input").attr("checked","checked"); 
array=$("#hfselectitemid").val().split(":"); 
for(var i=0;i<array.length;i++) 
{ 
if(array[i]==$(obj).attr("id")) 
{ 
is_add_id=false; 
} 
} 
if(is_add_id) 
{ 
cgdd_id_List +=$(obj).attr("id")+":"; 
} 
} 
else 
{ 
$(obj).find("input").attr("checked",false); 
array=cgdd_id_List.split(":"); 
cgdd_id_List=""; 
for(var i=0;i<array.length;i++) 
{ 
if(array[i]!=$(obj).attr("id")&&array[i]!="") 
{ 
cgdd_id_List +=array[i]+":"; 
} 
} 
} 
$("#hfselectitemid").val(cgdd_id_List); 
array = SortArr($("#hfselectitemid").val());// 排序 
cgdd_id_List=""; 
for(var k=0;k<array.length;k++) 
{ 
if(array[k]!=""&&array[k]!=":") 
{ 
cgdd_id_List+=array[k]+":"; 
} 
} 
$("#hfselectitemid").val(cgdd_id_List); 
alert($("#hfselectitemid").val()); 
} 
/* ***>****>[全选/全不选事件] 
------------------------------------------------------------------------------------*/ 
$("#ajaxshowmdqhList input[name=cgdd_checked_all]").live("click",function(){ 
var ck=$(this).attr("checked"); 
var is_add_ckItem=false;// 是否添加到已选择id集合中 
var all_ck_item = new Array(); // 已选择ID集合 
var not_all_ck_item=new Array();// 反选ID集合 
all_ck_item = $("#hfselectitemid").val().split(":"); 
$("input[name=cg_state]").each(function(){ 
$(this).attr("checked",ck); 
});// 结束 
cgdd_id_List=""; 
$("#ajaxshowmdqhList tbody tr").find("input").each(function(i){ 
if($(this).attr("checked"))// 全选添加ID 
{ 
for(var i = 0; i<all_ck_item.length; i++) 
{ 
if(all_ck_item[i]==$(this).attr("id")) 
{ 
is_add_ckItem=true; 
break; 
} 
} 
if(!is_add_ckItem) 
{ 
cgdd_id_List += $(this).attr("id")+":"; 
} 
is_add_ckItem = false; 
} 
else // 反选ID 
{ 
not_all_ck_item[i]=$(this).attr("id"); 
} 
});// 结束 
// 移除反选ID 
for(var i = 0; i<all_ck_item.length; i++) 
{ 
for(var k = 0; k<not_all_ck_item.length; k++) 
{ 
if(all_ck_item[i]==not_all_ck_item[k]) 
{ 
is_add_ckItem=true; 
break; 
} 
} 
if(!is_add_ckItem) 
{ 
if(all_ck_item[i]!=":"&&all_ck_item[i]!="") 
{ 
cgdd_id_List += all_ck_item[i]+":"; 
} 
} 
is_add_ckItem = false; 
} 
$("#hfselectitemid").val(cgdd_id_List); 
var Sort_array = new Array(); 
Sort_array = SortArr($("#hfselectitemid").val());// 排序 
cgdd_id_List=""; 
for(var k=0;k<Sort_array.length;k++) 
{ 
if(Sort_array[k]!=""&&Sort_array[k]!=":") 
{ 
cgdd_id_List+=Sort_array[k]+":"; 
} 
} 
$("#hfselectitemid").val(cgdd_id_List); 
cgdd_id_List= ""; 
alert($("#hfselectitemid").val()); 
});// 结束 
/* 冒泡排序 
------------------------------------------------------------------------------------*/ 
var SortArr=function(id_list) 
{ 
var sortArray=new Array(); 
var temp; 
sortArray=id_list.split(":"); 
for(var i=0;i<sortArray.length;i++) 
{ 
for(var j=0;j<i;j++) 
{ 
if(parseInt(sortArray[j])>parseInt(sortArray[i])) 
{ 
temp=sortArray[j]; 
sortArray[j]=sortArray[i]; 
sortArray[i]=temp; 
} 
} 
} 
temp=""; 
return sortArray; 
} // 结束
Javascript 相关文章推荐
在Windows上安装Node.js模块的方法
Sep 25 Javascript
juery框架写的弹窗效果适合新手
Nov 27 Javascript
js电话号码验证方法
Sep 28 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
Oct 25 Javascript
基于JavaScript实现五子棋游戏
Aug 26 Javascript
Vue.js实现图片的随意拖动方法
Mar 08 Javascript
ES7之Async/await的使用详解
Mar 28 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
ES11新增的这9个新特性,你都掌握了吗
Oct 15 Javascript
js字符串的各种格式的转换 ToString,Format
Aug 08 #Javascript
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 #Javascript
jquery学习笔记 用jquery实现无刷新登录
Aug 08 #Javascript
基于jQuery实现的水平和垂直居中的div窗口
Aug 08 #Javascript
关于hashchangebroker和statehashable的补充文档
Aug 08 #Javascript
基于jQuery的前端数据通用验证库
Aug 08 #Javascript
JS基础之undefined与null的区别分析
Aug 08 #Javascript
You might like
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
PHP内置加密函数详解
2016/11/20 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
vue双向绑定及观察者模式详解
2019/03/19 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
[03:48]显微镜下的DOTA2第四期——TP动作
2014/06/20 DOTA
Python中logging模块的用法实例
2014/09/29 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
用django设置session过期时间的方法解析
2019/08/05 Python
Python关于反射的实例代码分享
2020/02/20 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
会计与审计专业自荐信范文
2014/03/15 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
升职自荐信范文
2015/03/27 职场文书
公司车队管理制度
2015/08/04 职场文书
《落花生》教学反思
2016/02/16 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android