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 相关文章推荐
获取dom元素那些讨厌的位置封装代码
Jun 23 Javascript
js获取form的方法
May 06 Javascript
原生js实现addClass,removeClass,hasClass方法
Apr 27 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
jquery基本选择器匹配多个元素的实现方法
Sep 05 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
Jan 04 Javascript
js实现图片左右滚动效果
Feb 27 Javascript
关于定制FileField中的上传文件名称问题
Aug 22 Javascript
JS实现为动态创建的元素添加事件操作示例
Mar 17 Javascript
JavaScript闭包相关知识解析
Oct 19 Javascript
jquery实现图片放大镜效果
Dec 23 jQuery
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数据库配置文件一般做法分享
2012/07/07 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
layui分页效果实现代码
2017/05/19 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
[03:08]Ti4观战指南上
2014/07/07 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
用Python写一个自动木马程序
2019/09/17 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
python无序链表删除重复项的方法
2020/01/17 Python
Python计算IV值的示例讲解
2020/02/28 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
大一期末自我鉴定
2013/12/13 职场文书
小学语文国培感言
2014/03/04 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
小学运动会报道稿
2015/07/22 职场文书
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js