(原創)EasyUI中datagrid的行編輯模式中,找到特定的Editor,併爲其添加事件

有時候在行編輯的時候,一個編輯框的值要根據其它編輯框的值進行變化,那麼能夠經過在開啓編輯時,找到特定的Editor,爲其添加事件工具

 

// 綁定事件, index爲當前編輯行測試

var editors = $('#staffLogDetailGrid').datagrid('getEditors', index);     //得到當前行的編輯對象ui

console.info(editors[5]);  //editor[5]表示第五列這個控件spa

var sfgzEditor = editors[5];.net

sfgzEditor.target.bind('change',function () {對象

    console.info("111");事件

    console.info(sfgzEditor.target.val()); //sfgzEditor.target就是操做第五列控件對象ci

});get

以上的edit類型是: 'validatebox',以下所示;input

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綁定事件了;

相關文章
相關標籤/搜索