时间:2021-07-01 10:21:17 帮助过:28人阅读
最近要用jQuery实现一个批量删除操作,效果如下图
最终页面page.html,此页面使用了bootstrap和jQuery,如果没有需要下载一下
上图的操作主要需要两个操作:
一、当checkBox点击时进行选中计数(带坑)。
二、当点击批量删除时,拼接选中单位的id,传递给个后台。
初看一下,感觉这些很好实现,并且实现的方法很多。当初我也是这么认为的,结果搞了一个上午.......,接下来就看看jQuery的一些坑。
我开始想法是每次点击checkBox时,对所有的checkBox进行each()遍历,如果是勾选状态就将Num++,最后将num的值赋给批量删除的数字小标签,顺便把id也拼接了。
当这段代码触发时,却发现一个诡异的现象:这段代码会在勾选效果前先触发。类似于beforeClick(),所以当代码遍历时,无法获取当前的勾选状态。
就这个问题,我在网上找了半天答案,硬是不知道如何解决,什么mouseup()都用了一下,都是beforeClick的效果。
最后我使用了另一种写法。
成功运行出效果!
结论:
在click()中使用input[type=[checkbox]:checked]
选择器获得勾选元素时,得到的就是勾选后的结果afterclick()。
而使用.each()遍历时,获取的是勾选前的效果beforeclick。
为什么一个click函数里,能得出beforeclick和aferclick两种效果?
相关推荐:
jQuery实现搜索功能并显示搜索相关内容
详解jQuery除指定区域外点击任何地方隐藏DIV功能
实例详解jQuery实现checkbox的简单操作
以上就是实例讲解jQuery实现checkbox即点即改批量删除功能的详细内容,更多请关注Gxl网其它相关文章!