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 相关文章推荐
js+数组实现网页上显示时间/星期几的实用方法
Jan 18 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
Mar 01 Javascript
javascript的函数作用域
Nov 12 Javascript
jQuery提示插件alertify使用指南
Apr 21 Javascript
IScroll5 中文API参数说明和调用方法
May 21 Javascript
JavaScript之排序函数_动力节点Java学院整理
Jun 30 Javascript
深入理解 webpack 文件打包机制(小结)
Jan 08 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
Jul 22 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
Jun 03 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
Vue.js原理分析之nextTick实现详解
Sep 07 Javascript
如何在vue 中引入使用jquery
Nov 10 jQuery
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
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
node.js基础知识汇总
2020/08/25 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
Python list操作用法总结
2015/11/10 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
python中pika模块问题的深入探究
2018/10/13 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
python实现移动木板小游戏
2020/10/09 Python
如何用Django处理gzip数据流
2021/01/29 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
师说教学反思
2014/02/07 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
二年级学生评语大全
2014/04/23 职场文书
文明礼仪标语
2014/06/13 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL