jQuery实现可编辑表格并生成json结果(实例代码)


Posted in jQuery onJuly 19, 2017

实现效果如下,在编辑表格的同时可以实现字段json内容的自动变化,点击提交可以保存到后台,页面加载的时候自动解析json并加载表格内容。该代码解析和加载功能都用前端js实现,简化了后台代码逻辑。

jQuery实现可编辑表格并生成json结果(实例代码)

定义要操作的表格头:

<input readonly="readonly" class="form-control" type="text" id="scorerange" value="" name="scorerange"/> 
                      <table id="mytable"> 
                          <tr> 
                            <th style="width: 20%;">分数区间</th><th style="width:20%;">等级</th><th style="width:60%;">建议内容</th><th></th> 
                       </tr> 
                         <!--                         <tr><td><input onblur="caljson()" type="text" style="width: 50px;" >-<input type="text" style="width: 50px;" /></td> 
                          <td><input onblur="caljson()" type="text" style="width: 100%;" ></td> 
                          <td><input onblur="caljson()" id="btn1" type="button" onclick="$(this).parent().parent().remove()" value="删除" /></td></tr>                        -->                       </table>

定义操作代码

function insertRowLast(newrow,s1,s2,s3,s4) { 
  if(newrow){ 
    var newRow = "<tr><td><input onblur=\"caljson()\" value=\"0\" type=\"text\" style=\"width: 50px;\" >-<input value=\"0\" type=\"text\" style=\"width: 50px;\" /></td>"; 
    newRow+="<td><input  onblur=\"caljson()\"  type=\"text\" style=\"width: 50px;\" ></td>"; 
    newRow+="<td><input maxlength=\"24\" onblur=\"caljson()\"  type=\"text\" style=\"width: 100%;\" ></td>"; 
    newRow+="<td><input  onblur=\"caljson()\"  id=\"btn1\" type=\"button\" onclick=\"$(this).parent().parent().remove();caljson();\" value=\"删除\" /></td></tr>"; 
    $("#mytable tr:last").after(newRow); 
  }else{ 
    var newRow = "<tr><td><input value=\""+s1+"\" onblur=\"caljson()\" type=\"text\" style=\"width: 50px;\" >-<input value=\""+s2+"\" type=\"text\" style=\"width: 50px;\" /></td>"; 
    newRow+="<td><input value=\""+s4+"\"  onblur=\"caljson()\"  type=\"text\" style=\"width: 50px;\" ></td>"; 
    newRow+="<td><input maxlength=\"24\" value=\""+s3+"\"  onblur=\"caljson()\"  type=\"text\" style=\"width: 100%;\" ></td>"; 
    newRow+="<td><input  onblur=\"caljson()\"  id=\"btn1\" type=\"button\" onclick=\"$(this).parent().parent().remove();caljson();\" value=\"删除\" /></td></tr>"; 
    $("#mytable tr:last").after(newRow); 
  } 
  caljson(); 
} 
var json=""; 
function caljson(){ 
 json="{\"scorerange\":["; 
 var idx = 0;  
 var idxlen = $("#mytable").find("tr").length; 
 $("#mytable").find("tr").each(function () { 
  if(idx==0){ 
  idx++; 
    return; 
  } 
var tdArr = $(this).children(); 
  var v1 = tdArr.eq(0).find('input').eq(0).val(); 
  var v2 = tdArr.eq(0).find('input').eq(1).val(); 
  var v3 = tdArr.eq(2).find('input').val(); 
  var v4 = tdArr.eq(1).find('input').val(); 
  json+="{\"s1\":\""+v1+"\",\"s2\":\""+v2+"\",\"content\":\""+v3+"\",\"classg\":\""+v4+"\"}"; 
  idx++; 
  if(idx!=idxlen){ 
  json+=","; 
  } 
}); 
json+="]}"; 
$("#scorerange").val(json); 
//alert($("#scorerange").val()); 
} 
//alert(1); 
//alert($("#scorerange").val()); 
var dataObj=eval("($!{tbscence.scorerange})"); 
if(dataObj && dataObj.scorerange){ 
 //alert(dataObj.scorerange.length); 
 for(var i=0;i<dataObj.scorerange.length;i++){ 
  var s1 = dataObj.scorerange[i].s1; 
  var s2 = dataObj.scorerange[i].s2; 
  var s3 = dataObj.scorerange[i].content; 
  var s4 = dataObj.scorerange[i].classg; 
  //alert(s1+" "+s2+" "+s3); 
  insertRowLast(false,s1,s2,s3,s4); 
 } 
}else{ 
 insertRowLast(true,0,0,0,0); 
}

总结

以上所述是小编给大家介绍的jQuery实现可编辑表格并生成json结果(实例代码),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
详解jQuery的核心函数和事件处理
Feb 18 jQuery
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 #jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 #jQuery
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 #jQuery
jquery版轮播图效果和extend扩展
Jul 18 #jQuery
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 #jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 #jQuery
jQuery remove()过滤被删除的元素(推荐)
Jul 18 #jQuery
You might like
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
php查询及多条件查询
2017/02/26 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
PDO::commit讲解
2019/01/27 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
详解javascript高级定时器
2015/12/31 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
python同时给两个收件人发送邮件的方法
2015/04/30 Python
python对html代码进行escape编码的方法
2015/05/04 Python
Python模拟用户登录验证
2017/09/11 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
python使用tkinter实现简单计算器
2018/01/30 Python
目前最全的python的就业方向
2018/06/05 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
小学三年级数学教学反思
2014/01/31 职场文书
感恩之星事迹材料
2014/05/03 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
社区服务活动报告
2015/02/05 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
销售员岗位职责
2015/02/10 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
2016年中学清明节活动总结
2016/04/01 职场文书
话题作文之呼唤
2019/12/18 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
MySQL去除密码登录告警的方法
2022/04/20 MySQL
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL