弹出窗全选反选功能

来源:互联网 发布:扬州市音乐厅淘宝 编辑:程序博客网 时间:2024/05/29 16:08

功能需求:弹出窗列表加载记录,分页选择记录项,得到id数组

实现:

1、首先在公共js(common.js)中添加两个方法

//===========================================//判断是否在数组内//===========================================Array.prototype.contains = function (obj) {var i = this.length;while (i--) {if (this[i] === obj) {return true;}}return false;};//===========================================//在数组的中的索引,没有则返回-1//===========================================Array.prototype.indexOf = function (e) {for ( var i = 0, j; j = this[i]; i++) {if (j == e) {return i;}}return -1;};

2、全选、反选方法

var wbIdArray = null;//全局数组//全选/反选$("#all",window.parent.document.body).live("click",function(){if (parent.$("#all").is(":checked")) {parent.$("#wbTable").find("input[name=selectWb]").each(function(){var self = $(this);self.attr("checked",true);//选中if (!wbIdArray.contains(self.attr("wbid"))) {wbIdArray.push(self.attr("wbid"));//如果选中的id不在全局工种id数组中,则添加}});}else {parent.$("#wbTable").find("input[name=selectWb]").each(function(){var self = $(this);self.attr("checked",false);//取消选中if(wbIdArray.contains(self.attr("wbid"))){var index = wbIdArray.indexOf(self.attr("wbid"));wbIdArray.splice(index,1);//如果取消选中的id在全局工种id数组中,则删除}});}});
注意:由于使用弹窗加载列表,在定位id为"all"时,要加上window.parent.document.body,让JQuery在父页面找id为all的html元素,id为“wbTable”同理。

0 0
原创粉丝点击