使用easyui行编辑的时候完成编辑的功能比较简单,但是如果要根据一个框的值动态改变别的值或者编辑的时候禁用某个框的时候就比较麻烦了。
比如像下面这样:添加行的时候每个值都是手动输入,修改的时候第一个值不能修改。我们来看下怎么实现这样的效果。
easyui本身是不提供这么细节的功能的,需要我们自己拓展下:
在编辑的时候移除第一列的editor属性,添加的时候,添加第一列的属性。
rush:js;">
//扩展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,item);
e.editor = {};
});
} else {
var e = $(jq).datagrid('getColumnoption',param);
e.editor = {};
}
}
});
调用:
移除:
rush:js;">
$("#dg").datagrid('removeEditor','cardNo');//这里的cardNo是需要移除editor的列的field值
添加:
rush:js;">
$("#dg").datagrid('addEditor',[ //添加cardNo列editor
{field:'cardNo',editor:{
type:'textBox',options:{
required:true,validType:'length[3,3]',invalidMessage:'请输入3位号码!'
}
}
}]
别的操作都可以据此拓展.
原文地址:https://www.jb51.cc/jquery/50345.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。