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面向对象编程代码
Dec 19 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
jQuery实现ichat在线客服插件
Dec 29 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
May 27 Javascript
js实现非常棒的弹出div
Oct 06 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
原生js实现鼠标跟随效果
Feb 28 Javascript
全面解析Node.js 8 重要功能和修复
Jun 02 Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 Javascript
小程序云开发之用户注册登录
May 18 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
vue3使用vue-count-to组件的实现
Dec 25 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
农民和部队如何穿矿
2020/03/04 星际争霸
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
javascript表单验证大全
2015/08/12 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
vue父子组件通信的高级用法示例
2019/08/29 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
python中的sort方法使用详解
2014/07/25 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
学期自我鉴定范文
2013/10/01 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
英语自荐信常用语句
2013/12/13 职场文书
高三语文教学反思
2014/01/15 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
趣味运动会广播稿
2014/09/13 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技