JS实现复选框的全选和批量删除功能


Posted in Javascript onApril 05, 2017

如图示:

JS实现复选框的全选和批量删除功能

功能描述:在勾选了全选时,所有的商品都会勾选,在取消全选时,取消所有物品的勾选。如果点击批量删除,删除所勾选的商品。

<td align="center" width="12%" >
 <input type="checkbox" id="allChecks" onclick="ckAll()" /> 全选/全不选
</td>
//全选
 function ckAll(){
 var flag=document.getElementById("allChecks").checked;
 var cks=document.getElementsByName("check");
 for(var i=0;i<cks.length;i++){
 cks[i].checked=flag;
 }
 }

如代码所示,全选/全不选的复选框添加onclick事件。每当点击了这个复选框时,触发ckAll事件。在ckAll()方法中,我们首先获得allChecks当前的勾选状态,然后将其赋值为其它商品的复选框即可。这一步实现很简单。复杂的是如何实现商品的批量删除。

起初我一直在想,复选框只是一个组件,到底怎么才能和商品的编号(主键)有关系。无意中发现复选框组件中有一个value的值,我可以把商品的编号赋值给value,然后在批量删除时获得value的值,通过get请求传送给servlet。成功解决了这个问题。

代码如下:

<td style="CURSOR: hand; HEIGHT: 22px" align="center"
 width="23">
 <input type="checkbox" name="check" value="${book.id}"/> 
</td>
//批量删除
 function delAllProduct(){
 if(!confirm("确定要删除这些图书吗?")){
 return ;
 }
 var cks=document.getElementsByName("check");
 var str="";
 //拼接所有的图书id
 for(var i=0;i<cks.length;i++){
 if(cks[i].checked){
 str+="id="+cks[i].value+"&";
 }
 }
 //去掉字符串末尾的‘&'
 str=str.substring(0, str.length-1);
 location.href="${pageContext.request.contextPath}/servlet/delAllBooksServlet?" rel="external nofollow" +str;
 }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js活用事件触发对象动作
Aug 10 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
Feb 26 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 Javascript
Easyui Treegrid改变默认图标的方法
Apr 29 Javascript
用jQuery向div中添加Html文本内容的简单实现
Jul 13 Javascript
12个非常有用的JavaScript技巧
May 17 Javascript
jQuery Datatables表头不对齐的解决办法
Nov 27 jQuery
angular1.x ui-route传参的三种写法小结
Aug 31 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
Jun 14 Javascript
使用vant的地域控件追加全部选项
Nov 03 Javascript
idea编译器vue缩进报错问题场景分析
Jul 04 Vue.js
Ajax验证用户名或昵称是否已被注册
Apr 05 #Javascript
JS二叉树的简单实现方法示例
Apr 05 #Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 #Javascript
js获取指定时间的前几秒
Apr 05 #Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 #Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 #Javascript
详解使用fetch发送post请求时的参数处理
Apr 05 #Javascript
You might like
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
php数组去重复数据示例
2014/02/25 PHP
php实现的用户查询类实例
2015/06/18 PHP
PHP安全下载文件的方法
2016/04/07 PHP
laravel学习教程之存取器
2016/07/30 PHP
图片完美缩放
2006/09/07 Javascript
javascript new一个对象的实质
2010/01/07 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
jQuery Ajax全解析
2017/02/13 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
2018/11/08 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
办公室保洁员岗位职责
2013/12/02 职场文书
创先争优一句话承诺
2014/05/29 职场文书
家属联谊会致辞
2015/07/31 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers
canvas 中如何实现物体的框选
2022/08/05 Javascript