您的位置:首页 > 产品设计 > UI/UE

(原创)EasyUI中datagrid的行编辑模式中,找到特定的Editor,并为其添加事件

2013-03-19 17:01 483 查看
有时候在行编辑的时候,一个编辑框的值要根据其它编辑框的值进行变化,那么可以通过在开启编辑时,找到特定的Editor,为其添加事件

// 绑定事件, index为当前编辑行
var editors = $('#staffLogDetailGrid').datagrid('getEditors',
index);
console.info(editors[5]);
var sfgzEditor = editors[5];
sfgzEditor.target.bind('change',function () {
console.info("111");
console.info(sfgzEditor.target.val());
});

以上的edit类型是: 'validatebox',如下所示;

editor : {
type :
'validatebox',
options : {
required : true
}
}

绑定的是change事件;即单元格的内容改变时(无须失去焦点,只要内容改变就行了);

当然也可以绑定其他时间:
比如”blur”: 失去焦点的时候,实际中也有这种需求的,
比如一个单元格编辑完成后,
同时其他某些单元格的内容也会随之变化;

Bind是绑定的意识,即绑定事件的功能;

Change, blur, bind这些方法都在edit(Object).target里面; console.info(editors[5]);就可以在网页测试工具中查看到;
里面还有很多事件可以用

Type为'validatebox'的本人已经亲测过,是可以的;
可是type为’combobox’好像change和blur事件都无法正常触发;可是我看到
console.info(editors[5]);
输出的target 属性值为:

Object[input.combobox-f]
这是一个combobox对象;可以直接对其赋事件的;
所以代码如下:

// 绑定事件
var editors = $('#staffLogDetailGrid').datagrid('getEditors',
lastIndex);
console.info(editors[3]);
var sfgzEditor = editors[3];
var sfgzCobobox = sfgzEditor.target;
console.info(sfgzCobobox);
sfgzCobobox.combobox({
onChange : function(n,o){
console.info("111");
}
});

这样就可以给type为combobox的edit绑定事件了;

作者: 张振斌 时间: 2013-3-8 QQ:739934487
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐