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创建自定义对象 创建Object实例添加属性和方法
Jun 04 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 Javascript
js实现倒计时时钟的示例代码
Dec 17 Javascript
jQuery html()方法使用不了无法显示内容的问题
Aug 06 Javascript
EasyUI中实现form表单提交的示例分享
Mar 01 Javascript
JavaScript实现将文本框的值插入指定位置的方法
Aug 13 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
bootstrap fileinput插件实现预览上传照片功能
Jan 23 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 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
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python中关于Sequence切片的下标问题详解
2017/06/15 Python
Python内置函数reversed()用法分析
2018/03/20 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
军训自我鉴定
2013/12/14 职场文书
中餐厅主管的职责范文
2014/02/04 职场文书
保密工作责任书
2014/04/16 职场文书
文明市民先进事迹
2014/05/15 职场文书
跳槽求职信范文
2014/05/26 职场文书
森林防火标语
2014/06/23 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
遗失说明具结保证书
2015/02/26 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang