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

 更新时间:2011年08月09日 00:02:48   作者:  
分页全选或反选标识 对多选按钮操作。 批量全选添加、批量移除。 行单选添加、移除。 分页之后(全选或不选)状态标识依然存在
注:对多选按钮操作。
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;
} // 结束

相关文章

  • JS实现具备延时功能的滑动门菜单效果

    JS实现具备延时功能的滑动门菜单效果

    这篇文章主要介绍了JS实现具备延时功能的滑动门菜单效果,涉及JavaScript基于鼠标事件与时间函数实现页面样式延迟变换功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • 关于javascript中dataset的问题小结

    关于javascript中dataset的问题小结

    本文给大家介绍javascript中dataset的问题详解,包括dataset的基础用法,使用dataset的作用以及dataset的基础操作等相关问题,对javascript dataset问题感兴趣的朋友一起学习吧
    2015-11-11
  • display和visibility的区别示例介绍

    display和visibility的区别示例介绍

    这篇文章主要介绍了display和visibility的区别,需要的朋友可以参考下
    2014-02-02
  • javascript帧动画(实例讲解)

    javascript帧动画(实例讲解)

    下面小编就为大家带来一篇javascript帧动画(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • js 绑定键盘鼠标事件示例代码

    js 绑定键盘鼠标事件示例代码

    用jq提交时想同时按回车键可以提交,此时就不要用form,需要的朋友可以参考下
    2014-02-02
  • js实现以最简单的方式将数组元素添加到对象中的方法

    js实现以最简单的方式将数组元素添加到对象中的方法

    下面小编就为大家分享一篇js实现以最简单的方式将数组元素添加到对象中的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Bootstrap实现可折叠分组侧边导航菜单

    Bootstrap实现可折叠分组侧边导航菜单

    这篇文章主要介绍了Bootstrap实现可折叠分组侧边导航菜单的相关资料,需要的朋友可以参考下
    2018-03-03
  • JavaScript数据结构常见面试问题整理

    JavaScript数据结构常见面试问题整理

    在JavaScript中,数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,是带有结构特性的数据元素的集合。常用的数据结构有:数组、列表、栈、队列、链表、字典、集合等等
    2022-08-08
  • bootstrap组件之导航组件使用方法

    bootstrap组件之导航组件使用方法

    Bootstrap 中的导航组件都依赖同一个 .nav 类和ul,状态类也是共用的。改变修饰类可以改变样式。接下来通过本文给大家介绍bootstrap 导航组件使用方法,一起看看吧
    2017-01-01
  • 原生JS京东轮播图代码

    原生JS京东轮播图代码

    这篇文章主要为大家详细介绍了原生JS京东轮播图代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论