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 相关文章推荐
JavaScript进阶教程(第四课第一部分)
Apr 05 Javascript
jQuery的学习步骤
Feb 23 Javascript
JavaScript的原型继承详解
Feb 15 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
详解jQuery简单的表单应用
Dec 16 Javascript
Bootstrap模态窗口源码解析
Feb 08 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
Webpack中publicPath路径问题详解
May 03 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
js 获取扫码枪输入数据的方法
Jun 10 Javascript
基于JS实现操作成功之后自动跳转页面
Sep 25 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部分常见问题总结
2006/10/09 PHP
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
php中error与exception的区别及应用
2014/07/28 PHP
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
python字典get()方法用法分析
2015/04/17 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
Python类如何定义私有变量
2020/02/03 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
八一建军节部队活动方案
2014/02/04 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书