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插件
Mar 29 jQuery
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
jQuery自动或手动图片切换效果
Oct 11 jQuery
JavaScript自执行函数和jQuery扩展方法详解
Oct 27 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 jQuery
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 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服务器实现多session并发运行
2006/10/09 PHP
php图片缩放实现方法
2014/02/20 PHP
YII路径的用法总结
2014/07/09 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
再谈javascript原型继承
2014/11/10 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
js传递数组参数到后台controller的方法
2018/03/29 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python生成器(Generator)详解
2015/04/13 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
Python制作数据导入导出工具
2015/07/31 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
课程设计心得体会
2013/12/28 职场文书
接受捐赠答谢词
2014/01/27 职场文书
励志演讲稿300字
2014/08/21 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
秋季运动会开幕词
2015/01/28 职场文书
海上钢琴师观后感
2015/06/03 职场文书