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 相关文章推荐
利用json获取字符出现次数的代码
Mar 22 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
May 19 Javascript
jquery win 7透明弹出层效果的简单代码
Aug 06 Javascript
javascript中简单的进制转换代码实例
Oct 26 Javascript
jQuery 复合选择器应用的几个例子
Sep 11 Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 Javascript
vue.js父组件使用外部对象的方法示例
Apr 25 Javascript
angular中的cookie读写方法
Aug 02 Javascript
微信小程序progress组件使用详解
Jan 31 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 Javascript
解决vue admin element noCache设置无效的问题
Nov 12 Javascript
简单了解Vue computed属性及watch区别
Jul 10 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
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
分享10段PHP常用代码
2015/11/11 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
srcElement表格样式
2006/09/03 Javascript
使用prototype.js进行异步操作
2007/02/07 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
python之yield和Generator深入解析
2019/09/18 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
python3.7调试的实例方法
2020/07/21 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
中职生自荐信
2013/10/13 职场文书
法制宣传月活动总结
2014/04/29 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
Golang: 内建容器的用法
2021/05/05 Golang
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
一文解答什么是MySQL的回表
2022/08/05 MySQL