弹出窗全选反选功能

功能需求:弹出窗列表加载记录,分页选择记录项,得到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”同理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值