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

所属分类: 网络编程 / JavaScript 阅读数: 1295
收藏 0 赞 0 分享
注:对多选按钮操作。
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 this关键字指向常用情况解析

这篇文章主要介绍了JavaScript this关键字指向常用情况解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Vue-cli打包后如何本地查看的操作

这篇文章主要介绍了Vue-cli打包后如何本地查看的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue cli 3.0通用打包配置代码,不分一二级目录

这篇文章主要介绍了vue cli 3.0通用打包配置代码,不分一二级目录,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JavaScript事件循环及宏任务微任务原理解析

这篇文章主要介绍了JavaScript事件循环及宏任务微任务原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

关于vue-cli3打包代码后白屏的解决方案

这篇文章主要介绍了关于vue-cli3打包代码后白屏的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue打包静态资源后显示空白及static文件路径报错的解决

这篇文章主要介绍了vue打包静态资源后显示空白及static文件路径报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue-cli3访问public文件夹静态资源报错的解决方式

这篇文章主要介绍了vue-cli3访问public文件夹静态资源报错的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS继承实现方法及优缺点详解

这篇文章主要介绍了JS继承实现方法及优缺点详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vue或react项目生产环境去掉console.log的操作

这篇文章主要介绍了vue或react项目生产环境去掉console.log的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

这篇文章主要介绍了解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多