jqgrid實(shí)現(xiàn)簡(jiǎn)單的單行編輯功能
本文實(shí)例為大家分享了jqgrid實(shí)現(xiàn)簡(jiǎn)單的單行編輯功能的具體代碼,供大家參考,具體內(nèi)容如下
1.html代碼
<table id="tableList" style="text-align:center;"></table> <div id=tablePager></div>
2.script代碼
<script type="text/javascript"> var lastId;//行編輯時(shí)用來(lái)存放行的id $(function(){ showTable(); //顯示jqgrid表格 $('.btn-update').click(updateRowData);//編輯按鈕 $('.btn-save').click(saveRowData);//保存按鈕添加事件,默認(rèn)不可用 $('.btn-cancel').click(cancelRowData);//取消按鈕,取消編輯操作 }); function showTable(){ layer.load(2); $("#tableList").jqGrid({ url:'myList.action', mtype: "POST", styleUI : 'AmazeUI', datatype: "json", height:"auto", autowidth:true, rownumbers: true, multiselect: true, colNames:['id','數(shù)量'], colModel:[ {name:'id',index:'id',hidden:true}, /*實(shí)現(xiàn)行編輯功能需要添加屬性editable:true,edittype:'text',其中'text'與input中的type屬性對(duì)應(yīng), 比如checkbox,radio,password等*/ {name:'num',index:'num',align: "center",editable: true, edittype: 'text'} ], sortable:true, sortname:'bc.serialNumber', sortorder:'asc', rowNum:10, rowList:[10,20,30,90], //顯示記錄數(shù)的格式 recordtext : "記錄 {0} - {1} 總記錄數(shù) {2}", //頁(yè)數(shù)顯示格式 pgtext : "第 {0}頁(yè) 共 {1} 頁(yè)", viewrecords:true, jsonReader: { // 數(shù)據(jù)行(默認(rèn)為:rows) root:"rows", repeatitems : false, page: "page", // 當(dāng)前頁(yè) records:"records", // 總記錄數(shù) total: "total" }, onSelectRow: function(id){ }, onSelectAll:function(id){ }, //加載完成(初始加載),回調(diào)函數(shù) loadComplete: function(){ layer.closeAll('loading'); var page = $('#tableList').getGridParam('page'); layer.msg('第'+page+'頁(yè)', { time: 1000, //1s后自動(dòng)關(guān)閉 }); }, /*編輯提交時(shí)用來(lái)對(duì)提交的數(shù)據(jù)進(jìn)行序列化,如果不添加此屬 性,默認(rèn)提交的是各個(gè)可編輯的字段名值對(duì),后臺(tái)需要有多個(gè)同名 字段來(lái)對(duì)應(yīng),序列化后,可以只用一個(gè)包含各個(gè)字段的對(duì)象即可接 收*/ serializeRowData: function(postdata) { return {'entity.id':postdata.id,'entity.num':postdata.num}; }, prmNames: {rows:"pageInfo.pageSize",page:"pageInfo.page", sort:"pageInfo.sidx",order:"pageInfo.sord", search: "pageInfo._search"}, pager:"#tablePager" }); } /*編輯行的函數(shù)*/ function updateRowData() { //獲取選中行的id var id=$('#tableList').jqGrid('getGridParam','selrow'); if(id==null) { return; } lastId=id; //存放編輯的id //調(diào)用此方法,使當(dāng)前行變?yōu)榭删庉? $("#tableList").jqGrid('editRow', id); $('.btn-update').attr("disabled",true);//編輯按鈕變?yōu)椴豢捎? //保存和取消按鈕變?yōu)榭捎? $('.btn-save').attr("disabled",false); $('.btn-cancel').attr("disabled",false); } /*保存編輯后的數(shù)據(jù)函數(shù)*/ function saveRowData() { $("#tableList").jqGrid( 'saveRow', lastId,//獲取編輯行的id { /*成功提交到后臺(tái)的回調(diào)函數(shù)*/ successfunc: function(response) { //返回到前臺(tái)的json字符串 var data = eval('(' + response.responseText + ')'); if(data.resultCode==0) { layer.msg("保存成功!",{icon:1}); //返回true,對(duì)前臺(tái)數(shù)據(jù)進(jìn)行更新 return true; } else { layer.msg("保存失敗!",{icon:2}); //返回false,對(duì)前臺(tái)數(shù)據(jù)不更新 return false; } }, /*提交的請(qǐng)求地址*/ url:'recoveryTokenUpdate.action', /*系統(tǒng)發(fā)生異常時(shí)的回調(diào)函數(shù)*/ errorfunc:function(){ layer.msg('系統(tǒng)異常!', {time: 2000}); }, /*請(qǐng)求類型post*/ "mtype" : "POST" }); $('.btn-updateToken').attr('disabled',false); $('.btn-saveToken').attr('disabled',true); $('.btn-cancelToken').attr('disabled',true); } /*取消編輯函數(shù)*/ function cancelRowData() { //取消所編輯的行的操作 $('#tableList').jqGrid('restoreRow', lastId); $('.btn-updateToken').attr('disabled',false); $('.btn-saveToken').attr('disabled',true); $('.btn-cancelToken').attr('disabled',true); } </script>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
查看源碼的工具 學(xué)習(xí)jQuery源碼不錯(cuò)的工具
jQuery是一個(gè)非常好用的javascript框架,我尤其喜歡它強(qiáng)大的選擇器和鏈?zhǔn)奖磉_(dá)式,使得我們能通過(guò)簡(jiǎn)單的語(yǔ)句實(shí)現(xiàn)復(fù)雜的功能。它還有一個(gè)重要的特點(diǎn)就是它的可擴(kuò)展性,使得很多人都可以開(kāi)發(fā)他們的插件并且分享出來(lái)2011-12-12jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)彈出提示信息的地圖熱點(diǎn)效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)彈出提示信息的地圖熱點(diǎn)效果,涉及jquery鼠標(biāo)事件及頁(yè)面元素樣式的動(dòng)態(tài)操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08jquery lazyload延遲加載技術(shù)的實(shí)現(xiàn)原理分析
懶加載技術(shù)(簡(jiǎn)稱lazyload)并不是新技術(shù),它是js程序員對(duì)網(wǎng)頁(yè)性能優(yōu)化的一種方案。lazyload的核心是按需加載。在大型網(wǎng)站中都有l(wèi)azyload的身影,例如谷歌的圖片搜索頁(yè),迅雷首頁(yè),淘寶網(wǎng),QQ空間等。2011-01-01對(duì)jquery的ajax進(jìn)行二次封裝以及ajax緩存代理組件:AjaxCache詳解
下面小編就為大家?guī)?lái)一篇對(duì)jquery的ajax進(jìn)行二次封裝以及ajax緩存代理組件:AjaxCache詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-04-04jquery動(dòng)態(tài)添加刪除一行數(shù)據(jù)示例
這篇文章主要介紹了jquery如何動(dòng)態(tài)添加刪除一行數(shù)據(jù),需要的朋友可以參考下2014-06-06在Web項(xiàng)目中引入Jquery插件報(bào)錯(cuò)的完美解決方案(圖解)
這篇文章主要介紹了在Web項(xiàng)目中引入Jquery插件報(bào)錯(cuò)的完美解決方案的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09jQuery實(shí)現(xiàn)dialog設(shè)置focus焦點(diǎn)的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)dialog設(shè)置focus焦點(diǎn)的方法,涉及jQuery針對(duì)dialog的操作技巧,需要的朋友可以參考下2015-06-06Jquery實(shí)現(xiàn)鼠標(biāo)移上彈出提示框、移出消失思路及代碼
具體思路為:.首先要定位實(shí)現(xiàn)這種效果的元素 ,本次通過(guò)class;如果是動(dòng)態(tài)顯示不同的提示內(nèi)容,需設(shè)置title;通過(guò)JQ給定位到元素加上 mouseover 和mouseout 事件2013-05-05