这周老师教了怎么利用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. 数据结构(5)之单链表的操作(补充)
  2. ebtables安装和使用
  3. ecg 幅度_ECG信号中一些运动伪差的讨论
  4. Floyed-Warshall算法
  5. memset函数具体说明
  6. Python数据分析之pandas入门
  7. keras系列︱Application中五款已训练模型、VGG16框架(Sequential式、Model式)解读(二)...
  8. 【Oracle】并行等待之PX Deq Credit: need buffer
  9. Socket编程例子
  10. 安卓项目连接后台服务器,android云后端服务器
  11. 学而思编程python软件下载-靠品牌还是靠实力?猿编程、学而思编程、网易卡搭等机构深度测评...
  12. Oracle 同比环比
  13. 数组去重几种常见的方法
  14. 浙江大学黄杨思博计算机学院,竺可桢学院2010-2011学年荣誉称号发文名单
  15. M3U8文件简介及在线播放器
  16. 银河麒麟系统飞腾CPU安装达梦数据库
  17. PHPStorm设置Ctrl+滚轮调整字体大小
  18. 导师喜欢什么样的“真”研究生?(转科学网)
  19. 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\tsc.ps1,是指在此系统上禁止运行脚本
  20. 如何把单元格中 经纬度 60进制转成10进制

热门文章

  1. FFD(Free-Form Deformation)自由变形
  2. python编程抠图_你还在自己抠图吗?我用Python5行代码就可实现批量抠图哦(赶紧收藏吧!)...
  3. 无限火力跳跳机器人_LOL“无限R”套路火了,CD比无限火力还短,机器人大招仅3秒...
  4. 【漏洞复现】Microsoft Office MSDT 远程代码执行漏洞 (CVE-2022-30190)
  5. ELMo、GPT详解
  6. ISTQB AL-TM连载系列05:测试出口准则评估与应对
  7. 【点云处理】Lidar点云障碍物形状估计(1)
  8. 学生HTML静态网页基础水平制作DIV+CSS+JavaScript技术制作美食网页——美食城6页面
  9. 电子邮件是如何跟踪您的?
  10. 短视频剪辑要注意的三个细节,片头片尾也重要,吸粉其实也不难