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修改css样式style
Apr 15 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
jQuery实现的经典滑动门效果
Sep 22 Javascript
js窗口关闭提示信息(兼容IE和firefox)
Oct 23 Javascript
jQuery增加与删除table列的方法
Mar 01 Javascript
js自定义QQ菜单效果
Jan 10 Javascript
bootstrap的工具提示实例代码
May 17 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
Aug 25 Javascript
Vue常见面试题整理【值得收藏】
Sep 20 Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
在 HTML 页面中使用 React的场景分析
Jan 18 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正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
PHP文件上传类实例详解
2016/04/08 PHP
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
Notino法国:购买香水和化妆品
2019/04/15 全球购物
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
销售经理工作职责范文
2013/12/03 职场文书
大学生入党思想汇报
2014/01/14 职场文书
美术毕业生求职信
2014/02/25 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
倡导文明标语
2014/06/16 职场文书
运动会演讲稿50字
2014/08/25 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python