Extjs Ext RowEditor.js不启动';后编辑';事件

Extjs Ext RowEditor.js不启动';后编辑';事件,extjs,Extjs,我有一个带有RowEditor插件的Ext网格。我有以下代码将“afteredit”事件添加到roweditor对象 store.on('update',function(){ }); editor.on("afteredit",function(roweditor,changes,record,index){ $.ajax({ url: $("#web").val() + "/registration/client/address-s

我有一个带有RowEditor插件的Ext网格。我有以下代码将“afteredit”事件添加到roweditor对象

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”事件,但有时不会


上面的代码有问题吗?

Ext.grid.EditorGridPanel.prototype.onEditComplete=function(e,value,startValue){ 警报('asd')
}

我在ExtJS代码中也遇到了同样的问题。在花了相当长的时间调试我的应用程序后,我意识到问题不是来自我的代码,而是来自RowEditor插件本身

该插件通过创建一个对用户想要更新的记录的引用来工作,在用户单击更新按钮后,它将比较新值和旧值,如果任何值不同,它将执行更新。问题是,有时记录会在执行此比较之前更新其值,从而导致比较找不到任何不同的值并退出函数

我编辑了rowdeditor.js文件的代码,因此我没有与实际记录进行比较,而是创建了记录的克隆,并将新值与其值进行比较。因为它是一个克隆,所以它的值永远不会改变,问题也就消除了。更新的代码可在此处找到:


我相信这个问题已经解决,当我今天尝试它时,它工作正常,正如预期的那样。

您是否确认afteredit事件实际上没有触发,而您的ajax回调没有被调用?您是否在Firebug中设置了断点来确认这一点?如果您只是简单地显示您的代码,这会很有帮助;这个插件非常小。我怀疑这是一次垃圾邮件尝试(甚至可能是病毒)。