jqgrid实现简单的单行编辑功能
发布时间 - 2026-01-11 03:29:56 点击率:次本文实例为大家分享了jqgrid实现简单的单行编辑功能的具体代码,供大家参考,具体内容如下

1.html代码
<table id="tableList" style="text-align:center;"></table> <div id=tablePager></div>
2.script代码
<script type="text/javascript">
var lastId;//行编辑时用来存放行的id
$(function(){
showTable(); //显示jqgrid表格
$('.btn-update').click(updateRowData);//编辑按钮
$('.btn-save').click(saveRowData);//保存按钮添加事件,默认不可用
$('.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','数量'],
colModel:[
{name:'id',index:'id',hidden:true},
/*实现行编辑功能需要添加属性editable:true,edittype:'text',其中'text'与input中的type属性对应,
比如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],
//显示记录数的格式
recordtext : "记录 {0} - {1} 总记录数 {2}",
//页数显示格式
pgtext : "第 {0}页 共 {1} 页",
viewrecords:true,
jsonReader: {
// 数据行(默认为:rows)
root:"rows",
repeatitems : false,
page: "page", // 当前页
records:"records", // 总记录数
total: "total"
},
onSelectRow: function(id){
},
onSelectAll:function(id){
},
//加载完成(初始加载),回调函数
loadComplete: function(){
layer.closeAll('loading');
var page = $('#tableList').getGridParam('page');
layer.msg('第'+page+'页', {
time: 1000, //1s后自动关闭
});
},
/*编辑提交时用来对提交的数据进行序列化,如果不添加此属
性,默认提交的是各个可编辑的字段名值对,后台需要有多个同名
字段来对应,序列化后,可以只用一个包含各个字段的对象即可接
收*/
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"
});
}
/*编辑行的函数*/
function updateRowData()
{
//获取选中行的id
var id=$('#tableList').jqGrid('getGridParam','selrow');
if(id==null)
{
return;
}
lastId=id; //存放编辑的id
//调用此方法,使当前行变为可编辑
$("#tableList").jqGrid('editRow', id);
$('.btn-update').attr("disabled",true);//编辑按钮变为不可用
//保存和取消按钮变为可用
$('.btn-save').attr("disabled",false);
$('.btn-cancel').attr("disabled",false);
}
/*保存编辑后的数据函数*/
function saveRowData()
{
$("#tableList").jqGrid(
'saveRow',
lastId,//获取编辑行的id
{
/*成功提交到后台的回调函数*/
successfunc: function(response) {
//返回到前台的json字符串
var data =
eval('(' + response.responseText + ')');
if(data.resultCode==0)
{
layer.msg("保存成功!",{icon:1});
//返回true,对前台数据进行更新
return true;
}
else
{
layer.msg("保存失败!",{icon:2});
//返回false,对前台数据不更新
return false;
}
},
/*提交的请求地址*/
url:'recoveryTokenUpdate.action',
/*系统发生异常时的回调函数*/
errorfunc:function(){
layer.msg('系统异常!', {time: 2000});
},
/*请求类型post*/
"mtype" : "POST"
});
$('.btn-updateToken').attr('disabled',false);
$('.btn-saveToken').attr('disabled',true);
$('.btn-cancelToken').attr('disabled',true);
}
/*取消编辑函数*/
function cancelRowData()
{
//取消所编辑的行的操作
$('#tableList').jqGrid('restoreRow', lastId);
$('.btn-updateToken').attr('disabled',false);
$('.btn-saveToken').attr('disabled',true);
$('.btn-cancelToken').attr('disabled',true);
}
</script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# jqgrid
# 单行编辑
# JQGrid的用法解析(列编辑
# 添加行
# 删除行)
# 回调
# 时用
# 不可用
# 的是
# 加载
# 序列化
# 多个
# 大家分享
# 具体内容
# 大家多多
# 自动关闭
# 默认为
# 字段名
# 当前页
# load
# url
# action
# mtype
# POST
# myList
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
iOS发送验证码倒计时应用
香港服务器租用费用高吗?如何避免常见误区?
微信小程序 五星评分(包括半颗星评分)实例代码
如何在景安服务器上快速搭建个人网站?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
大型企业网站制作流程,做网站需要注册公司吗?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
原生JS获取元素集合的子元素宽度实例
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何在建站宝盒中设置产品搜索功能?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
详解CentOS6.5 安装 MySQL5.1.71的方法
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Laravel怎么实现验证码(Captcha)功能
图册素材网站设计制作软件,图册的导出方式有几种?
长沙做网站要多少钱,长沙国安网络怎么样?
网站制作企业,网站的banner和导航栏是指什么?
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
浅谈Javascript中的Label语句
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何在腾讯云免费申请建站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在宝塔面板中修改默认建站目录?
WordPress 子目录安装中正确处理脚本路径的完整指南
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
如何在IIS7中新建站点?详细步骤解析
Laravel如何使用withoutEvents方法临时禁用模型事件
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
如何快速搭建虚拟主机网站?新手必看指南
如何用wdcp快速搭建高效网站?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel如何优化应用性能?(缓存和优化命令)
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何快速登录WAP自助建站平台?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何快速打造个性化非模板自助建站?
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Linux系统命令中screen命令详解
Java遍历集合的三种方式
下一篇:Java数据溢出代码详解
下一篇:Java数据溢出代码详解

