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 相关文章推荐
JavaScript修改css样式style
Apr 15 Javascript
Jquery乱码的一次解决过程 图解教程
Feb 20 Javascript
JQuery live函数
Dec 24 Javascript
一道关于JavaScript变量作用域的面试题
Mar 08 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
Jun 20 Javascript
jQuery实现的简单在线计算器功能
May 11 jQuery
JS实现点击循环切换显示内容的方法
Oct 19 Javascript
ajax请求data遇到的问题分析
Jan 18 Javascript
Vue组件中的data必须是一个function的原因浅析
Sep 03 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
Feb 27 Javascript
JavaScript 装逼指南(js另类写法)
May 10 Javascript
JavaScript实现音乐播放器
Aug 14 Javascript
微信小程序富文本渲染引擎的详解
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
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
使用Python对Excel进行读写操作
2017/03/30 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
python字符串Intern机制详解
2019/07/01 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
北大自主招生自荐信
2013/10/19 职场文书
演讲稿格式
2014/04/30 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
成绩单家长意见
2015/06/03 职场文书
话题作文之自信作文
2019/11/15 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
python not运算符的实例用法
2021/06/30 Python
nginx容器方式反向代理实战
2022/04/18 Servers