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

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

先看效果:

5f44669d9023f819b9cfa4031178418d.png点击"全选"时,当前页面所有的复选框都自动被选中.

5f44669d9023f819b9cfa4031178418d.png如何实现呢

先看看页面代码:

5f44669d9023f819b9cfa4031178418d.png先讲解一下每条记录前面的复选框:复选框的name统一的前缀,例如"product_",后面跟序号,如果每页显示5条,那么序号就是1,2,3,4,5,如果每页显示10条,序号就是从1到10,包括10.

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

5f44669d9023f819b9cfa4031178418d.png页面使用了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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值