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 相关文章推荐
DOM 基本方法
Jul 18 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
Oct 27 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
基于JQuery的多标签实现代码
Sep 19 Javascript
用js格式化金额可设置保留的小数位数
May 09 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
基于jquery实现多级菜单效果
Jul 25 jQuery
9种改善AngularJS性能的方法
Nov 28 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 Javascript
Vue工程模板文件 webpack打包配置方法
Dec 26 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 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
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
php实现session共享的实例方法
2019/09/19 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
简单实现jQuery轮播效果
2017/08/18 jQuery
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
python相似模块用例
2016/03/04 Python
python Flask实现restful api service
2017/12/04 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
为什么相对PHP黑python的更少
2020/06/21 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
乡镇庆八一活动方案
2014/02/02 职场文书
利群广告词
2014/03/20 职场文书
敬老院活动总结
2014/04/28 职场文书
授权收款委托书
2014/09/23 职场文书
商品陈列协议书
2014/09/29 职场文书
出售房屋协议书范本
2014/10/06 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
2015年新农合工作总结
2015/03/30 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android
Go gorilla/sessions库安装使用
2022/08/14 Golang