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 相关文章推荐
jQuery读取本地的json文件(实例讲解)
Oct 31 jQuery
JQuery 又谈ajax局部刷新
Nov 27 jQuery
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
jquery树形插件zTree高级使用详解
Aug 16 jQuery
使用jQuery实现掷骰子游戏
Oct 24 jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 jQuery
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
Jquery Datatables的使用详解
Jan 30 jQuery
9种方法优化jQuery代码详解
Feb 04 jQuery
jQuery实现的移动端图片缩放功能组件示例
May 01 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
Smarty环境配置与使用入门教程
2016/05/11 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
PHP 实现链式操作
2021/03/09 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
Python中的rfind()方法使用详解
2015/05/19 Python
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
Python中Qslider控件实操详解
2021/02/20 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
大学本科毕业生求职信范文
2013/12/18 职场文书
学生会招新策划书
2014/02/14 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
ktv好的活动方案
2014/08/17 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
施工员岗位职责
2015/02/10 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers