jQuery Easyui datagrid editor为combobox时指定数据源实例


Posted in Javascript onDecember 19, 2016

当在datagrid行内部应用添加编辑操作时,引入combobox是非常方便的操作,我在引入combobox时对数据源这快做个总结,在做demo的过程中遇到个问题,就是当你选择了下拉框的值后点击保存,此时显示的是value值,而不是text值,这时使用格式化函数解决此问题。

var Address = [{ "value": "1", "text": "CHINA" }, { "value": "2", "text": "USA" }, { "value": "3", "text": "Koren" }];

function unitformatter(value, rowData, rowIndex) {

  if (value == 0) {

    return;

  }

 

  for (var i = 0; i < Address.length; i++) {

    if (Address[i].value == value) {

      return Address[i].text;

    }

  }

}

function GetTable() {

  var editRow = undefined;

  $("#Student_Table").datagrid({

    height: 300,

    width: 450,

    title: '学生表',

    collapsible: true,

    singleSelect: true,

    url: '/Home/StuList',

    idField: 'ID',

    columns: [[

     { field: 'ID', title: 'ID', width: 100 },

      { field: 'Name', title: '姓名', width: 100, editor: { type: 'text', options: { required: true } } },

      { field: 'Age', title: '年龄', width: 100, align: 'center', editor: { type: 'text', options: { required: true } } },

      { field: 'Address', title: '地址', width: 100, formatter: unitformatter, align: 'center', editor: { type: 'combobox', options: { data: Address, valueField: "value", textField: "text" } } }

    ]],

    toolbar: [{

      text: '添加', iconCls: 'icon-add', handler: function () {

        if (editRow != undefined) {

          $("#Student_Table").datagrid('endEdit', editRow);

        }

        if (editRow == undefined) {

          $("#Student_Table").datagrid('insertRow', {

            index: 0,

            row: {}

          });

          $("#Student_Table").datagrid('beginEdit', 0);

          editRow = 0;

        }

      }

    }, '-', {

      text: '保存', iconCls: 'icon-save', handler: function () {

        $("#Student_Table").datagrid('endEdit', editRow);

        //如果调用acceptChanges(),使用getChanges()则获取不到编辑和新增的数据。

        //使用JSON序列化datarow对象,发送到后台。

        var rows = $("#Student_Table").datagrid('getChanges');

        var rowstr = JSON.stringify(rows);

        $.post('/Home/Create', rowstr, function (data) {

        });

      }

    }, '-', {

      text: '撤销', iconCls: 'icon-redo', handler: function () {

        editRow = undefined;

        $("#Student_Table").datagrid('rejectChanges');

        $("#Student_Table").datagrid('unselectAll');

      }

    }, '-', {

      text: '删除', iconCls: 'icon-remove', handler: function () {

        var row = $("#Student_Table").datagrid('getSelections');

      }

    }, '-', {

      text: '修改', iconCls: 'icon-edit', handler: function () {

        var row = $("#Student_Table").datagrid('getSelected');

        if (row != null) {

          if (editRow != undefined) {

            $("#Student_Table").datagrid('endEdit', editRow);

          }

          if (editRow == undefined) {

            var index = $("#Student_Table").datagrid('getRowIndex', row);

            $("#Student_Table").datagrid('beginEdit', index);

            editRow = index;

            $("#Student_Table").datagrid('unselectAll');

          }

        } else {

        }

      }

    }, '-', {

      text: '上移', iconCls: 'icon-up', handler: function () {

        MoveUp();

      }

    }, '-', {

      text: '下移', iconCls: 'icon-down', handler: function () {

        MoveDown();

      }

    }],

    onAfterEdit: function (rowIndex, rowData, changes) {

      editRow = undefined;

    },

    onDblClickRow: function (rowIndex, rowData) {

      if (editRow != undefined) {

        $("#Student_Table").datagrid('endEdit', editRow);

      }

      if (editRow == undefined) {

        $("#Student_Table").datagrid('beginEdit', rowIndex);

        editRow = rowIndex;

      }

    },

    onClickRow: function (rowIndex, rowData) {

      if (editRow != undefined) {

        $("#Student_Table").datagrid('endEdit', editRow);

      } 

    }

  });

}

效果图:

 jQuery Easyui datagrid editor为combobox时指定数据源实例

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

Javascript 相关文章推荐
javascript基本语法分析说明
Jun 15 Javascript
javascript dom代码应用 简单的相册[firefox only]
Jun 12 Javascript
js css后面所带参数含义介绍
Aug 18 Javascript
javascript ready和load事件的区别示例介绍
Aug 30 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
Oct 26 Javascript
JS 实现 ajax 异步浏览器兼容问题
Jan 21 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
JS实现读取xml内容并输出到div中的方法示例
Apr 19 Javascript
使用javascript做时间倒数读秒功能的实例
Jan 23 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
vue项目中做编辑功能传递数据时遇到问题的解决方法
Dec 19 #Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
Dec 19 #Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 #Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 #Javascript
Bootstrap的基本应用要点浅析
Dec 19 #Javascript
详解javascript获取url信息的常见方法
Dec 19 #Javascript
js封装tab标签页实例分享
Dec 19 #Javascript
You might like
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
Jquery 扩展方法
2010/05/06 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
npm qs模块使用详解
2020/02/07 Javascript
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
python之PyMongo使用总结
2017/05/26 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
幼儿园保育员辞职信
2014/01/12 职场文书
汉语言文学职业规划
2014/02/14 职场文书
关爱残疾人标语
2014/06/25 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
小学生暑假安全公约
2015/07/14 职场文书
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
Python实现照片卡通化
2021/12/06 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电