注:对多选按钮操作。 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中去掉数组中的重复值的实现方法
复制代码 代码如下: 题目:要求写一个函数,去掉给定数组中的重复值。 如: 传入数组 a = [0, 8, 5, 4, 78, 8, 90, 4, 'a', 'b', 'a']; 要求返回:[0,4,5,8,78,90,a,b] 对于这个题目,在面试之后也想了好多次,不>>>详细阅读
本文标题:js 分页全选或反选标识实现代码
地址:http://www.17bianji.com/kaifa2/JS/24307.html
1/2 1