如何使用JavaScript实现表格数据管理
这篇文章给大家分享的是有关如何使用JavaScript实现表格数据管理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
用JavaScript 实现了表格数据管理的以下几个功能:
· 点击添加按钮可以添加一个空的可以修改的记录。
· 点击表格单元格可以修改文本。
· 修改后实现了保存的接口。
· 如果添加了新的记录而未做任何修改值都为null,保存全部时将被忽略。
· 保存全部时只保存修改过的值,原有的数据不再重复保存。
· 刷新时如果数据未保存则提示保存。
· 点击删除时如果是临时添加的无效数据则直接删除,如果保存过的记录则实现了记录删除的接口。
考虑到嵌套的比较多就没有使用form表单,用JavaScript 直接解析dom来分离出了要传递的数据。
先看下运行的效果图:
JavaScript 的代码如下,其中注释较多就不解释了:
varJCRUD=function(tb,colnum,saveAllBtn,add,ajaxSaver,allAjaxSaver,ajaxDeler){vardel=tb.getElementsByTagName('a');varspan=tb.getElementsByTagName('span');varctr=[];/*保存修改的tr对象*/vardelEvent=function(){vardder=this.parentNode.parentNode;this.data=[];for(vari=0;i=0;i--){if(this.parentNode.parentNode===ctr[i]){ctr.splice(i,1);}}this.parentNode.removeChild(this);};}}};for(variindel)del[i].onclick=delEvent;/*给现在有元素添加事件*/for(varjinspan)span[j].onclick=spanEvent;add.onclick=function(){vartbody=tb.children[0];vartr=document.createElement('tr');for(varj=0;j 调用时要传几个参数,有几个参数为函数,每个参数都有注释,调用代码如下:
vartable=document.getElementById('tb'),/*要操作的表格*/colnum=5,/*这里修改表格的列数*/saveAllBtn=document.getElementById('SaveAll'),/*保存全部的按钮*/addBtn=document.getElementById('Add'),/*添加的按钮*/saver=function(){/*此处可以加上ajax效果与数据库交互data是个数组,需要可以改成JSON*/alert('要传的数据为data数据:"'+this.data+'"此处调用ajax实现后台保存!实现略……');},allSaver=function(){/*此处可以加上ajax效果与数据库交互data是个数组,需要可以改成JSON*/alert('要传的数据为allDtat数组:"'+this.allData+'"此处调用ajax实现后台保存!实现略……');},deler=function(){/*此处可以加上ajax效果与数据库交互data是个数组,需要可以改成JSON*/alert('要传的数据为data数据:"'+this.data+'"此处调用ajax实现后台删除!实现略……');};window.JCRUD(table,colnum,saveAllBtn,addBtn,saver,allSaver,deler);可以看出saver、allSaver、deler都是需要自己实现的,这与后台的实现相关,与本例子也没有主要关系也就不实现了,只把要传的数据传过来供使用。
感谢各位的阅读!关于“如何使用JavaScript实现表格数据管理”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
推荐阅读
-
WebStorm 与 VS Code 对比:JavaScript 开发该如何选择 IDE?
-
WebStorm 与 VS Code 对比:JavaScript 开发工具选型分析
-
JavaScript闭包用多会造成内存泄露吗
JavaScript闭包用多会造成内存泄露吗今天小编给大家分享一下...
-
javascript中文乱码如何解决
javascript中文乱码如何解决本篇内容介绍了“javascr...
-
PHP学习第十五天——JavaScript入门DOM对象:二
-
Node.js基本内容和知识点
简单的说node.js就是运行在服务端的JavaScript,起初段定位是后端开发语言,由于技术的不够成熟,一般小型项目...
-
PHP与Node.js:一个史诗般开发者的分享
-
JavaScript 中 find() 和 filter() 方法的区别
JavaScript在ES6上有很多数组方法,每种方法都有独特的用途和好处。在开发应用程序时,大多使用数组方法来获...
-
js怎么跟php结合使用
-
简单说说Node.js和JavaScript
Node.js是一个开源和跨平台的JavaScript运行时环境,在浏览器之外运行V8JavaScript引擎(...