2010-04-01 15 views
0

我有一個分機網格RowEditor插件。我有下面的代碼添加到'roweditor'對象的'事件'事件。分機RowEditor.js不火「afteredit」事件

store.on('update',function(){ 
    }); 

    editor.on("afteredit",function(roweditor,changes,record,index){ 

     $.ajax({ 
      url: $("#web").val() + "/registration/client/address-save" 
      ,type: 'post' 
      ,data: record.json 
      ,dataType: 'json' 
      ,success: function(data){ 
       if(data.success == true){ 
        alert("Update Successfully"); 
       } 
      } 
     }); 
    }); 

當我點擊一行,並編輯值,有時電網火患「afteredit」事件,但有時事實並非如此。

我必須跟我上面的代碼中的問題?

+2

你已經證實,afteredit事件實際上是不點火,對你的Ajax回調不會被調用?你有沒有在Firebug中設置一個斷點來確認? – 2010-04-05 21:38:08

回答

1

Ext.grid.EditorGridPanel.prototype.onEditComplete =函數(例如,值,在startValue){ 警報( 'ASD') }

-1

我也遇到上述同樣的問題在我的ExtJS的代碼。花了一段時間調試我的應用程序後,我意識到問題不是來自我的代碼,而是來自RowEditor插件本身。

該插件通過創建用戶想要更新的記錄的引用來工作,並且在用戶單擊更新按鈕之後,它將比較新值和舊值,並且如果任何值不同,則執行更新。問題在於有時記錄會在執行比較之前更新值,從而導致比較沒有找到任何不同的值並退出該函數。

我編輯的RowEditor.js文件的代碼,這樣,而不是與實際的記錄進行比較,我創建記錄的副本,並與它的值進行比較的新值。由於它是一個複製品,它的價值永遠不會改變,問題就會消除。更新後的代碼可以在這裏找到:

http://www.mediafire.com/?l0h8efhvc9wb2fp

+0

如果你只是簡單地顯示你的代碼,這將是有幫助的;該插件相當小。我懷疑這是一個垃圾郵件的嘗試,而不是(甚至可能是病毒)。 – Kris 2012-01-19 20:43:00

-1

我相信這個問題得到了解決,當我今天試了一下,工作正常,符合市場預期。