jQuery實(shí)現(xiàn)可編輯表格并生成json結(jié)果(實(shí)例代碼)
實(shí)現(xiàn)效果如下,在編輯表格的同時(shí)可以實(shí)現(xiàn)字段json內(nèi)容的自動變化,點(diǎn)擊提交可以保存到后臺,頁面加載的時(shí)候自動解析json并加載表格內(nèi)容。該代碼解析和加載功能都用前端js實(shí)現(xiàn),簡化了后臺代碼邏輯。
定義要操作的表格頭:
<input readonly="readonly" class="form-control" type="text" id="scorerange" value="" name="scorerange"/> <table id="mytable"> <tr> <th style="width: 20%;">分?jǐn)?shù)區(qū)間</th><th style="width:20%;">等級</th><th style="width:60%;">建議內(nèi)容</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); }
總結(jié)
以上所述是小編給大家介紹的jQuery實(shí)現(xiàn)可編輯表格并生成json結(jié)果(實(shí)例代碼),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Vue.js實(shí)現(xiàn)可編輯的表格
- angularjs實(shí)現(xiàn)table表格td單元格單擊變輸入框/可編輯狀態(tài)示例
- vuejs+element UI點(diǎn)擊編輯表格某一行時(shí)獲取內(nèi)容填入表單的示例
- 使用JavaScript實(shí)現(xiàn)表格編輯器(實(shí)例講解)
- JS表格組件BootstrapTable行內(nèi)編輯解決方案x-editable
- JavaScript簡單表格編輯功能實(shí)現(xiàn)方法
- javascript實(shí)現(xiàn)表格排序 編輯 拖拽 縮放
- 百度編輯器從Json對象中取值,完成初次渲染,在編輯器內(nèi)畫表格
- editable.js 基于jquery的表格的編輯插件
- js+Html實(shí)現(xiàn)表格可編輯操作
相關(guān)文章
jQuery Checkbox 全選 反選的簡單實(shí)例
本文主要介紹了Checkbox的全選、反選的簡單實(shí)例,需要的朋友可以參考下2016-11-11如何使用jQuery來處理圖片壞鏈具體實(shí)現(xiàn)步驟
也就是說如果這個(gè)圖片沒有加載成功了會怎么辦,下面為大大家分享下如何處理裂圖,感興趣的朋友可以參考下哈,希望對你有所幫助2013-05-05Jquery操作下拉框(DropDownList)實(shí)現(xiàn)取值賦值
Jquery操作下拉框(DropDownList)想必大家都有所接觸吧,下面與大家分享下對DropDownList進(jìn)行取值賦值的實(shí)現(xiàn)代碼2013-08-08jQuery實(shí)現(xiàn)的AJAX簡單彈出層效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)的AJAX簡單彈出層效果代碼,涉及jQuery響應(yīng)鼠標(biāo)事件動態(tài)操作頁面元素實(shí)現(xiàn)彈出層效果的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11