huangwei的gravatar头像
huangwei 2015-01-28 15:41:53

javascript实现列表复选框多选选中和取消多选选中

web开发过程中,经常面临批量操作,比如商品管理中,就需要批量删除,批量上架或批量下架.

先看效果:

javascript实现列表复选框多选选中和取消多选选中点击"全选"时,当前页面所有的复选框都自动被选中.

javascript实现列表复选框多选选中和取消多选选中如何实现呢

先看看页面代码:

javascript实现列表复选框多选选中和取消多选选中先讲解一下每条记录前面的复选框:复选框的name统一的前缀,例如"product_",后面跟序号,如果每页显示5条,那么序号就是1,2,3,4,5,如果每页显示10条,序号就是从1到10,包括10.

以上看到的是静态页面,那么每条记录checkbox的name是如何生成的?那得看JSP文件了:

javascript实现列表复选框多选选中和取消多选选中页面使用了JSTL标签库.

再看js实现

点击"全选"按钮,会执行js方法selectAllcheck(this),方法体如下:

 function selectAllcheck(obj){ //batch toggle checkbox
			var sum=com.whuang.hsj.$$one("product23Sum").value; //Number("${view.recordNumOfCurrent}");
			//注意:${view.recordNumOfCurrent}获取的是第一次刷新时的,后面的都是使用ajax,所以${view.recordNumOfCurrent}没有更新
			// alert(sum);
			com.whuang.hsj.selectAllcheckbox(obj,"product_",Number(sum));
		}
/*******************************************************************************
 * batch toggle checkbox
 */
com.whuang.hsj.selectAllcheckbox = function(checkboxobj, prefixStr, sum_int) {
	if (com.whuang.hsj.isCheckcheckboxOne(checkboxobj)) {
		com.whuang.hsj.setSel4CheckboxbySequence2(prefixStr, sum_int);
	} else {
		com.whuang.hsj.deSetSel4CheckboxbySequence2(prefixStr, sum_int);
	}
};
com.whuang.hsj.setSel4CheckboxbySequence2 = function(prefixStr, countMax) {
	com.whuang.hsj.setSel4CheckboxbySequence(prefixStr, 1, countMax);
};
/*******************************************************************************
 * select all
 */
com.whuang.hsj.setSel4CheckboxbySequence = function(prefixStr, countMin,
		countMax) {
	for ( var ik = countMin; ik <= countMax; ik++) {
		var checkbox227 = com.whuang.hsj.$$arr(prefixStr + ik);
		if (checkbox227 == null || checkbox227 == undefined) {
		} else {
			if (!com.whuang.hsj.isCheckcheckbox(checkbox227)) {
				com.whuang.hsj.setCheckboxByIndex(checkbox227, 0);
			}
		}
	}
};
com.whuang.hsj.deSetSel4CheckboxbySequence2 = function(prefixStr, countMax) {
	com.whuang.hsj.deSetSel4CheckboxbySequence(prefixStr, 1, countMax);
};

具体代码见附件common_util.js


打赏

文件名:common_util.zip,文件大小:117.046K 下载
  • /
    • /Ajax.js
    • /common_util.js
    • /index.js
    • /jquery-1.11.1.js
    • /jquery.form.js
    • /md5.js
    • /mobile_index.js
    • /page.js
    • /test.html
最代码最近下载分享源代码列表最近下载
11132222  LV8 2019年11月14日
haha0316  LV9 2018年12月18日
jiaohehe  LV4 2018年7月23日
bianyuning  LV14 2018年5月2日
lvhaowen  LV20 2017年8月14日
wangqiang84  LV2 2017年7月5日
dqy520123  LV5 2017年3月28日
remixsun  LV1 2017年3月16日
momoKing13145  LV1 2016年4月19日
harrycui  LV10 2015年9月7日
最代码最近浏览分享源代码列表最近浏览
滕飞宇  LV1 昨天
953558449 3月22日
暂无贡献等级
孙龙52  LV6 2023年7月12日
孙晓磊 2023年5月24日
暂无贡献等级
呵呵哈哈哈  LV10 2022年9月28日
xuexizhuanyong23  LV16 2022年7月2日
FrankLiJAVA 2022年3月29日
暂无贡献等级
abcdljw  LV20 2021年12月28日
zjfz2020080538  LV2 2021年12月26日
huaua7676  LV30 2021年7月20日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友