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表单验证之密码确认
May 22 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
jquery DataTable实现前后台动态分页
Jun 17 jQuery
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
jQuery实现简单的Ajax调用功能示例
Feb 15 jQuery
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 jQuery
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 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
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
Js获取事件对象代码
2010/08/05 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python 中split 和 strip的实例详解
2017/07/12 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
使用Python封装excel操作指南
2021/01/29 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
高级3D打印市场:Gambody
2019/12/26 全球购物
关于旷工的检讨书
2014/02/02 职场文书
百日安全生产活动总结
2014/07/05 职场文书
政风行风评议整改方案
2014/09/15 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
golang中实现给gif、png、jpeg图片添加文字水印
2021/04/26 Golang
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
了解Redis常见应用场景
2021/06/23 Redis