PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

时间:2022-08-28 16:49:05

摘要: 本人刚参加PHP基础班培训,由于之前毫无基础,分享的心得可能不规范,方法也许也“旁门左道”,不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步。 在这里分享一下我们基础班学员遇到的一些疑点和我的分析。PS:分析不一定正确,希望同行指教

前一段时间笔者重感冒了,身体不舒服,还请了一天假没去上实操课,播客也没有来得及和大家分享。今天感冒已经好得差不多啦,就剩下一点留鼻涕喉咙痒而已,刚好今天是休息天不用上课,这里打铁趁热,赶紧给大家分享一下昨天学到的用JQ实现表单的某些功能。首先我们来看一下这是我们需要作出的效果:

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

这里我们要实现的效果是点击“全选”所有的checkbox框都会打钩,点“取消”所有的都不打钩,点“反选”打钩的不打钩,不打钩的打钩,点“删除”那些打钩的那行就删掉。

接下来我们看一下已有的HTML代码,CSS的就不看了,只是装饰一下:

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

思路1:首先这里给四个按钮都绑定鼠标点击就会处理的事件

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

思路2:然后接下来笔者用刚学到的JQ的插件机制。然后弄“全选”、“反选”和“取消”这三个按钮的点击触发事件的处理函数

因为这三个都是比较简单的,注意这里我们是由按钮获取触发,但是又checkbox调用触发后处理的函数。这样好找到要删除的行这对象。

“全选”的让checkbox调用函数,函数里设法添加checked=“true”这属性和属性值,就可以达成选中的效果

“取消”就刚好相反,把属性值true换为flase,让他没选中就行

“反选”这里就要用点逻辑,不过比较简单的,就是有选就变没选,没选就变有选,这里我们很容易想到这是个条件逻辑,我们选用if语句

大体如下:

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

注意一点事这里插件机制创建的函数对象是JQ的对象,所以同学们留心了不要用JQ对象使用JS的方法,或者反过来了!

思路3、然后笔者认为比较有难度的地方是在删除部分,下面我来做删除。

由于我们是用checkbox来调用处理函数的,而我们要删除的是整一行,是tr这个元素

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

如图所示,蓝色的就是checbox和tr,其实这里笔者说的不大准确,不是checkbox调用,是找到的checkbox的元素input来调用

而要删除tr,这要找到input元素的父元素td,再父元素tr,这要就找到了,所以以下就显示一下笔者直接通过跨层级找到删除目标元素来删除的方法:

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

这里还是比较好理解的,remove()是JQ的一个方法,用来删除调用方法的元素和元素包含的内容。里面的if语句就是条件判断,用来判断那checkbox有没有被选中打钩,

特点也在附图说明了,就是简单暴力,适合层级较少的时候

然后我们来说一下另一种方法,这是我们讲师彭大大的方法,貌似工作常用:

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

这里的思路大体一样,通过找关系找到删除目标,触发删除函数删除

不同的是这个“关系”,这里是运用一开始通过checkbox找到的input元素

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

通过找到的input元素,在里面设一个id和值,再在要删除的目标tr元素里也设一个id和值,通过这两个值之间的字符关系,注意是字符!

这里给不理解的同学说一下,比如A是苹果1,B是苹果12,要想通过A变B,就在A“苹果1”后面加一个字符“2”就变“苹果12”了,就是B了

这里的思路就是这样的

所以就是这样

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

红圈是找到checkbox是选中的,checked值时true的,然后收集到input元素的id的属性值,再通过篮圈,篮圈就是给这个id数值进行加工然后变成tr元素的id属性值,然后由它来调用remove()方法进行删除

这里说一下黄圈地方时用来清空每次运行删除函数时,红圈收集到的id属性值,主要避免混乱和不必要的资源消耗

这上面附图方法2的说明忘记改了,方法2的特定应该是合适层级相差较大,或者不想找层级关系的时候用的

然后就能实现效果啦

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能

PHP基础班初学心得:用JQ实现表单的全选、反选、取消和删除功能的更多相关文章

  1. PHP基础班初学心得:JS里inner的一些理解

    本人刚参加PHP基础班培训,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在这里分 ...

  2. PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题

    本人刚参加PHP基础班培训第一天,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在 ...

  3. PHP基础班初学心得:关于网页创作

    前提:本人刚参加PHP基础班培训第一天,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步 ...

  4. js和jq实现全选反选

    在前端中用到全选反选的案例并不少,在这里呢我就实现这个功能给大家参考参考. 这里呢就先贴上我的html和css代码 <div class="wrap"> <tab ...

  5. PHP基础班初学感悟

    不知不觉差不多一个月就过去了 刚到培训班那时候的心情,现在也还能有所感觉 作为今年6月份的毕业生,刚从大学的实习期出来,辞掉了上一份工作,本来是打算找一份更加与专业挂钩的工作做的 也许是90后对网络的 ...

  6. 分别用js和jq实现百度全选反选效果

    js实现过程 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  7. js jq 手机号实现&lpar;344&rpar; 附带删除功能 jq 实现银行卡没四个数加一个空格 附带删除功能

    js 手机号实现(344)  下面有将正则验证去掉“-” 或“空格”  下一篇博客有单独的删除功能方法 <!DOCTYPE html> <head> <meta char ...

  8. html基础:jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  9. jq实战-表单验证

    作为学习的记录,方便大家查看,废话不多说,直接上代码 html 结构: <form action="a.php" method="" class=&quo ...

随机推荐

  1. zookeeper 相关学习资料

    zookeeper的配置:http://www.cnblogs.com/yuyijq/p/3438829.html zookeeper运维:http://blog.csdn.net/hengyunab ...

  2. 【转】iOS6中的Auto Layout:通过代码添加约束

        最近做的项目用到了Auto Layout,于是经过了一番大量的google,这是我看到的讲用代码创建约束最清晰的一篇教程,于是想跟更多的人分享一下.原文也比较简单,可以直接过去看,如果我翻译的 ...

  3. jzp线性筛及其简单应用

    前言: 很久以前看过了线性筛,没怎么注意原理,但是后来发现线性筛还有很有用的.. 比如上次做的一道题就需要找出每个数的最小质因子,先筛再找就太慢了..一看线性筛发现就可以直接在筛的过程中处理出来了! ...

  4. mac 修改系统配置参数 主机名 等

    mac 修改系统配置参数,可以使用 命令 scutil 参考网址: https://developer.apple.com/library/mac/documentation/Darwin/Refer ...

  5. django处理cookie的机制

    title: django处理cookie的机制 tags: djaogo, cookie, session grammar_cjkRuby: true --- cookie的意义 在多数日常使用的网 ...

  6. linux-centos基本使用(一)

    1. 基本配置 1.常用软件安装 yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2uni ...

  7. Python编程Day4——if判断、while循环、for循环

    一.if判断 语法一: if条件: 代码块1 代码块2 代码块3 示例: sex='female' age=18 is_beautiful=True if sex =='female'and age& ...

  8. hdfs 安全模式介绍

    1. hdfs在启动的时候现将映像载入内存,并执行edits中的各项操作,一旦在内存中建立元数据的映像,则闯进啊一个新的fsimage文件和空的编辑日志.此时namenode开始监听datanode请 ...

  9. vsCode关闭代码检查工具

    在script标签里,第一行输入下面的内容即可:

  10. Cause&colon; com&period;mysql&period;jdbc&period;exceptions&period;jdbc4&period;MySQLSyntaxErrorException&colon; &period;&period;&period;&period;&period; this is incompatible with sql&lowbar;mode&equals;only&lowbar;full&lowbar;group&lowbar;by

    一.异常信息 org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: com.mysq ...