这周老师教了怎么利用jQuery实现在表单里增加、删除和修改数据。可以增加数据,单选删除、多选删除和全选删除。ISBN的值式唯一的,不能重复,当输入的ISBN已存在,就只修改后面书名。效果图如下:

整体代码如下:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script src="../js/jquery.min.js"></script></head><body><input type="text" name="ISBN" id="ISBN"/><input type="text" name="bookname" id="bookname"/><button id="add">增加</button><table id="tb1"><theader><tr><td><input type="checkbox" name="chkall" id="chkall"></td><td>ISBN</td><td>书名</td><td>删除</td></tr></theader></table><button id="delAll">删除</button><script>//增加模块$(document).ready(function(){$("#add").click(function(){//设定ISBN为唯一值var chk = $("input[type='checkbox'][value='"+ $("#ISBN").val() +"']");//如果ISBN为空,就增加一条数据if (chk.length == 0 ) {var str="<tr>" + "<td><input type='checkbox' name='chkBook'" +  "value='"+$("#ISBN").val()+ "'></td>"+ "<td>" + $("#ISBN").val() + "</td>"+ "<td>" + $("#bookname").val() + "</td>"//+ "<td><button onclick='delTr(this)'>x</button></td>"+ "<td><button data-role='del'>x</button></td>"$("#tb1").append(str);//如果不为空,就只修改书名} else {$(chk).parent().next().next().html($("#bookname").val());}});//全选按钮$("#chkall").click(function(){console.log($("#chkall:checked"));$("input[name='chkBook']").prop("checked",$(this).prop("checked"));})//删除按钮$("#delAll").click(function(){$("input[name='chkBook']:checked").parents("tr").remove();});//jQuery当中,动态添加的元素,不能直接使用$().on()绑定事件监听器/*$("#tb1").on("click","button[data-role='del']",function(){$(this).parents("tr").remove();})*///1: jQuery的事件动态绑定//2: javaScript的事件流  addEventListener//3: 事件委托//单选删除按钮$("#tb1").on("click",function(event){console.log(event);//var tg =event.target || event.targetSrc;if (event.target.getAttribute("data-role") == "del") {$(event.target).parents("tr").remove();}})})/*function delTr(obj) {$(obj).parents("tr").remove();}*/</script></body>
</html>

在增加模块中,设置ISBN为唯一的值,是利用选择框和ISBN这个字段绑定在一起,实现ISBN的唯一

var chk = $("input[type='checkbox'][value='"+ $("#ISBN").val() +"']");

当ISBN存在的时候,只修改书名字段,就是先找到chk的“父亲”,然后找到他的兄弟的兄弟,也就是ID为bookname的字段,修改书名的value值
//当前元素
// 获取父元素
// parent()
// parents(选择器)
// parentsUntil(选择器)
// 查找兄弟节点:
// next()、nextAll、nextUntil
// prev()、prevAll、prevUntil

$(chk).parent().next().next().html($("#bookname").val());

全选按钮,选定name值等于chkBook的整个选择框,后面的prop这个属性里面有两个参数,第一个参数是获取,第二个参数设置,首先第一个参数先获取整行,然后第二个参数设置成成全选,可以根据下面的全选框来改变是否全选,下方的选择删除按钮同理

$("#chkall").click(function(){console.log($("#chkall:checked"));$("input[name='chkBook']").prop("checked",$(this).prop("checked"));})

利用jQuery的事件动态绑定来时候单行的删除,把envent的target属性来获取参数实现删除功能,event.target 属性返回 DOM 元素触发了事件。

$("#tb1").on("click",function(event){console.log(event);if (event.target.getAttribute("data-role") == "del") {$(event.target).parents("tr").remove();}})

本人也是初学者,如果本文中有什么错误,也请大家多多指教,如果对于文中有什么不理解的,也可以在本文下方留言,我为你们解答,谢谢!

利用jQuery实现表单里的增加、删除和修改相关推荐

  1. 利用Jquery将表单序列化成JS对象

    //表单序列化成JSON对象 $.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.eac ...

  2. jQuery实现表单验证

    1.基于html表单,利用jQuery实现表单验证功能. 2.html基本结构和样式: 3.html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  3. html中表单的校验的插件,功能强大的jquery.validate表单验证插件

    本文实例为大家分享了jquery.validate表单验证的使用方法,供大家参考,具体内容如下 1 .表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助 ...

  4. 使用 jQuery Mobile 与 HTML5 开发 Web App (五) —— jQuery Mobile 表单下

    在上文<使用 jQuery Mobile 与 HTML5 开发 Web App -- jQuery Mobile 表单上>中, Kayo 介绍了一部分 jQuery Mobile 表单组件 ...

  5. jQuery formValidator表单校验代码生成器ver1.1,一键产生所有代码

    谈一下写代码生成器的目的 1.减少书写错误.主要是配置参数容易书写错误,JS是认大小写. 2.提高代码复用性. 3.让不懂JS的人更容易上手. 4.不用记忆配置参数. 基本操作: 产生单条校验代码 1 ...

  6. 基于jQuery的表单验证插件:jValidate

    网上基于jQuery的表单验证插件已有很多,但是这个轮子我还是继续做一个,因为这个表单验证插件是从我以前的个人JS框架移值过来的(我已慢慢投入jQuery的怀抱),并且它的验证规则书写方式也许会让你眼 ...

  7. 【HTML5初探之form标签】解放表单验证、增加文件上传、集成拖放

    导航 [初探HTML5之使用新标签布局]用html5布局我的博客页! [HTML5初探之form标签]解放表单验证.增加文件上传.集成拖放 [HTML5初探之绘制图像(上)]看我canvas元素引领下 ...

  8. 使用 jQuery Mobile 与 HTML5 开发 Web App (四) —— jQuery Mobile 表单上

    一.表单组件基础 1.组件简介 jQuery Mobile 中的表单组件是基于标准 HTML ,然后在此基础上增强样式,因此即使浏览器不支持 jQuery Mobile 表单仍可正常使用.需要注意的是 ...

  9. jQuery Form 表单提交插件-----ajaxSubmit() 的应用

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.ajaxSubmit() 介绍  立即通过AJ ...

最新文章

  1. 深入剖析SolrCloud(一)
  2. html5 css3炫酷效果,28种纯CSS3炫酷loading加载动画特效
  3. osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)的理解
  4. c程序100例第3题
  5. eclipse配置python开发环境_Eclipse中配置python开发环境详解
  6. 【转】golang 结构体和方法
  7. 武汉大学计算机学院毕业选题,《计算机毕业论文写作指导》
  8. GlusterFS简单环境部署
  9. 汉诺塔函数python_Python使用函数模拟“汉诺塔”过程
  10. VGG16网络参数细节
  11. 又是灵格斯导致软件自动关闭
  12. CentOS安装YAPI
  13. 剑桥禁书与一个自由的灵魂
  14. oracle函数笔记
  15. c#文件名去掉后缀_C# 怎么去掉文件名后缀
  16. 【资源汇总】OpenGL
  17. 双臂路由实现vlan间通信
  18. windows下使用nvcc和nvprof
  19. 嵌入式100题(81):波特率是什么,为什么双方波特率要相同,高低波特率有什么区别;...
  20. 队列----循环队列

热门文章

  1. android strictmode有什么作用,Android严苛模式StrictMode使用详解
  2. 下个牛市,Web3世界的龙头项目PlatoFarm能否踏足山巅
  3. 《PHP面向对象编程详解》系列技术文章整理收藏
  4. AE 2015 轨道遮罩在哪?
  5. 我的世界java版双海底神殿种子_我的世界:出生海上孤岛,周围都是海底神殿,这个种子不得不爱!...
  6. android新消息提醒功能,Android仿微信新消息提示音
  7. 配置Hi提醒 让提醒消息可以转发到企业微信
  8. GBase 8d产品介绍
  9. golang大厂面试1
  10. MySQL数据库-DQL(单表查询)