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 相关文章推荐
div+css布局的图片连续滚动js实现代码
May 04 Javascript
js单词形式的运算符
May 06 Javascript
基于javascript编写简单日历
May 02 Javascript
JavaScript闭包实例详解
Jun 03 Javascript
Angular2安装angular-cli
May 21 Javascript
vue loadmore 组件滑动加载更多源码解析
Jul 19 Javascript
vue 添加vux的代码讲解
Nov 30 Javascript
解决layui中的form表单与button的点击事件冲突问题
Aug 15 Javascript
详解webpack2异步加载套路
Sep 14 Javascript
JavaScript 禁止用户保存图片的实现代码
Apr 28 Javascript
JS + HTML 罗盘式时钟的实现
May 21 Javascript
js 数组 fill() 填充方法
Nov 02 Javascript
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
使PHP自定义函数返回多个值
2006/11/26 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
jQuery技巧总结
2011/01/01 Javascript
简单的代码实现jquery定时器
2013/11/17 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
jQuery判断邮箱格式对错实例代码讲解
2017/04/12 jQuery
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
python3调用windows dos命令的例子
2019/08/14 Python
python实现两个文件夹的同步
2019/08/29 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
公司庆典邀请函范文
2014/01/13 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
win10下go mod配置方式
2021/04/25 Golang
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js