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设置图片等比例缩小的方法
Apr 29 jQuery
jquery图片放大镜效果
Jun 23 jQuery
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
jquery 一键复制到剪切板的实例
Sep 20 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
jQuery实现简易聊天框
Feb 08 jQuery
jquery实现两个div中的元素相互拖动的方法分析
Apr 05 jQuery
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
jQuery实现电梯导航模块
Dec 22 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插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP之生成GIF动画的实现方法
2013/06/07 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
js实现时间日期校验
2020/05/26 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python代理抓取并验证使用多线程实现
2013/05/03 Python
python小技巧之批量抓取美女图片
2014/06/06 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
Python卸载模块的方法汇总
2016/06/07 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
高中生的自我鉴定范文
2014/01/24 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
2014年大学生工作总结
2014/11/20 职场文书
春秋淹城导游词
2015/02/11 职场文书
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js