jQuery Easyui学习之datagrid 动态添加、移除editor
作者:bea
使用easyui行编辑的时候完成编辑的功能比较简单,但是如果要根据一个框的值动态改变别的值或者编辑的时候禁用某个框的时候就比较麻烦了。 比如像下面这样:添加行的时候每个值都是手动输入,修改的时候第一个值不能修改。我们来看下怎么实现这样的效果。 easyui本身是不提供这么细节的功能的,需要我们自己拓展下: 在编辑的时候移除第一列的editor属性,添加的时候,添加第一列的属性。 //扩展datagrid:动态添加删除editor$.extend($.fn.dat
使用easyui行编辑的时候完成编辑的功能比较简单,但是如果要根据一个框的值动态改变别的值或者编辑的时候禁用某个框的时候就比较麻烦了。
比如像下面这样:添加行的时候每个值都是手动输入,修改的时候第一个值不能修改。我们来看下怎么实现这样的效果。
easyui本身是不提供这么细节的功能的,需要我们自己拓展下:
在编辑的时候移除第一列的editor属性,添加的时候,添加第一列的属性。
//扩展datagrid:动态添加删除editor
$.extend($.fn.datagrid.methods, {
addEditor : function(jq, param) {
if (param instanceof Array) {
$.each(param, function(index, item) {
var e = $(jq).datagrid('getColumnOption', item.field);
e.editor = item.editor; });
} else {
var e = $(jq).datagrid('getColumnOption', param.field);
e.editor = param.editor;
}
},
removeEditor : function(jq, param) {
if (param instanceof Array) {
$.each(param, function(index, item) {
var e = $(jq).datagrid('getColumnOption', item);
e.editor = {};
});
} else {
var e = $(jq).datagrid('getColumnOption', param);
e.editor = {};
}
}
});
调用:
移除:
$("#dg").datagrid('removeEditor','cardNo');//这里的cardNo是需要移除editor的列的field值
添加:
$("#dg").datagrid('addEditor',[ //添加cardNo列editor
{field:'cardNo',editor:{
type:'textbox',
options:{
required:true,
validType:'length[3,3]',
invalidMessage:'请输入3位号码!'
}
}
}]
别的操作都可以据此拓展.
有用 | 无用
比如像下面这样:添加行的时候每个值都是手动输入,修改的时候第一个值不能修改。我们来看下怎么实现这样的效果。
easyui本身是不提供这么细节的功能的,需要我们自己拓展下:
在编辑的时候移除第一列的editor属性,添加的时候,添加第一列的属性。
//扩展datagrid:动态添加删除editor
$.extend($.fn.datagrid.methods, {
addEditor : function(jq, param) {
if (param instanceof Array) {
$.each(param, function(index, item) {
var e = $(jq).datagrid('getColumnOption', item.field);
e.editor = item.editor; });
} else {
var e = $(jq).datagrid('getColumnOption', param.field);
e.editor = param.editor;
}
},
removeEditor : function(jq, param) {
if (param instanceof Array) {
$.each(param, function(index, item) {
var e = $(jq).datagrid('getColumnOption', item);
e.editor = {};
});
} else {
var e = $(jq).datagrid('getColumnOption', param);
e.editor = {};
}
}
});
调用:
移除:
$("#dg").datagrid('removeEditor','cardNo');//这里的cardNo是需要移除editor的列的field值
添加:
$("#dg").datagrid('addEditor',[ //添加cardNo列editor
{field:'cardNo',editor:{
type:'textbox',
options:{
required:true,
validType:'length[3,3]',
invalidMessage:'请输入3位号码!'
}
}
}]
别的操作都可以据此拓展.
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery实现可以控制图片旋转角度效果(附demo源码下载)
- 封装属于自己的JS组件
- js+css绘制颜色动态变化的圈中圈效果
- Bootstrap树形控件使用方法详解
- window.onerror()的用法与实例分析
- 用window.onerror捕获并上报Js错误的方法
- jquery实现可旋转可拖拽的文字效果代码
- jquery+css3实现会动的小圆圈效果
- 再谈JavaScript异步编程
- 简单介绍jsonp 使用小结
- 理解javascript异步编程
- js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
- AngularJS转换响应内容
- jQuery+css实现的切换图片功能代码
- javascript中的3种继承实现方法
- jQuery+css实现的换页标签栏效果
- js实现的彩色方块飞舞奇幻效果
- JavaScript下的时间格式处理函数Date.prototype.format
- 基于JavaScript实现瀑布流效果(循环渐近)