jQuery实现可编辑表格并生成json结果(实例代码)
网络编程 2021-07-04 18:32www.168986.cn编程入门
这篇文章主要介绍了 jquery实现可编辑表格并生成json结果,该代码解析和加载功能都用前端js实现,简化了后台代码逻辑,非常不错,具有参考借鉴加载,需要的朋友可以参考下
实现效果如下,在编辑表格的可以实现字段json内容的自动变化,点击提交可以保存到后台,页面加载的时候自动解析json并加载表格内容。该代码解析和加载功能都用前端js实现,简化了后台代码逻辑。
定义要操作的表格头
<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结果(实例代码),希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指