jqgrid实现简单的单行编辑功能


Posted in Javascript onSeptember 30, 2017

本文实例为大家分享了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通过Unicode转义序列来加密,按你说的可以算是混淆吧
May 06 Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
jQuery代码性能优化的10种方法
Jun 21 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 Javascript
关于vue的语法规则检测报错问题的解决
May 21 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
Jun 04 Javascript
微信小程序实现tab页面切换功能
Jul 13 Javascript
JS利用prototype给类添加方法操作详解
Jun 21 Javascript
react native 仿微信聊天室实例代码
Sep 17 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
Apr 20 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
微信小程序富文本渲染引擎的详解
Sep 30 #Javascript
js实现数组和对象的深浅拷贝
Sep 30 #Javascript
node通过express搭建自己的服务器
Sep 30 #Javascript
react-native中ListView组件点击跳转的方法示例
Sep 30 #Javascript
详解在Vue中有条件地使用CSS类
Sep 30 #Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
Sep 30 #Javascript
vue按需引入element Transfer 穿梭框
Sep 30 #Javascript
You might like
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
vue 项目build错误异常的解决方法
2019/04/22 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
python 实时遍历日志文件
2016/04/12 Python
Python可变参数用法实例分析
2017/04/02 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
Python3.8中使用f-strings调试
2019/05/22 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
2014年学生党支部工作总结
2014/12/20 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
详解CocosCreator项目结构机制
2021/04/14 Javascript
css背景和边框标签实例详解
2021/05/21 HTML / CSS
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript