JQGRID CELLEDIT 编辑模式下怎样取行数据
答案:1 悬赏:40 手机版
解决时间 2021-02-16 19:39
- 提问者网友:放下
- 2021-02-15 21:12
JQGRID CELLEDIT 编辑模式下怎样取行数据
最佳答案
- 五星知识达人网友:一秋
- 2021-02-15 21:40
示例:<br><br> var lastFlag ;<br> $gridTable = $("#gridTable").jqGrid( {<br> datatype : 'json',<br> colNames : ['age', 'sex' ],<br> colModel : [ <br> {name : 'age',index : 'age',width : 80,editable:true,edittype:'text',editrules:{required:true}}, <br> {name : 'sex',index : 'sex',width : 160,editable:true,edittype:'text',editrules:{required:true}} <br> ],<br> rowNum : 10,<br> pager : "#tablePager",<br> multiselect : false,<br> viewrecords : true,<br> sortorder : "desc",<br> jsonReader : {<br> root : "dataRows",<br> repeatitems : false<br> },<br> caption : "数据列表",<br> height : "auto",<br> rownumbers : true,<br> onSelectRow : function(id){<br> if(id && id!=lastFlag){<br> $('#gridTable').jqGrid('saveRow',lastFlag); <br> lastFlag=id;<br> }<br> $('#gridTable').jqGrid('editRow',id,true); <br><br> }, <br> editurl : "../propManage.do?method=doNothing" <br> })<br><br><br><br> <br> $("#addButton").bind("click", function() {<br> var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow"); <br> var dataRow = { <br> age: "",<br> sex: ""<br> }; <br> var ids = jQuery("#gridTable").jqGrid('getDataIDs');<br> var rowid = getMaxId(ids) + 1;<br> if (selectedId) { <br> $("#gridTable").jqGrid("addRowData", rowid, dataRow, "after", selectedId);<br> } else { <br> $("#gridTable").jqGrid("addRowData", rowid, dataRow, "last"); <br> } <br> })<br><br><br> $("#removeButton").bind("click", function() {<br> var selectedId = $("#gridTable").jqGrid("getGridParam","selrow"); <br> if(!selectedId){<br> alert("请选择要删除的行");<br> return;<br> }else{ <br> $("#gridTable").jqGrid("delRowData", selectedId); <br> } <br> })<br><br><br><br>问题1:JQGRID 编辑模式下怎样取行数据?<br><br> 用户操作模拟:用户新增一行,鼠标点进去,该行进入编辑状态,填写数据,点击保存。<br><br> 问题出现了: 点击保存以后,需要通过getRowData()获取表格里的数据传回后台,但是当行在编辑状态下时,getRowData()取得的值为类似<input ....></input> 的html标签,不是编辑框中输入的值。<br><br> 解决办法:<br><br> alert getRowData()获取出的数据,你会发现<input>标签的id是5_age, 6_age之类的,也就是行id+“_colModel name”,这就好办了,<br><br> 做法就是找到编辑行的单元格的id,然后得到单元格里的内容,通过"setRowData"将其保存起来,然后再通过getRowData()取值。<br><br> 示例:<br><br> var selectedId = $('#gridTable').jqGrid("getGridParam", "selrow");<br> var ageId = selectedId + "_age";<br> var sexId = selectedId + "_sex"; <br> var age= $('#'+ageId).val();<br> var sex= $('#'+sexId).val(); <br> $('#gridTable').jqGrid('setRowData',selectedId,{age:age,sex:sex},''); <br><br> 再通过getRowData()取值,结果正确。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |