Extjs Ext RowEditor.js不启动';后编辑';事件
我有一个带有RowEditor插件的Ext网格。我有以下代码将“afteredit”事件添加到roweditor对象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
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中设置了断点来确认这一点?如果您只是简单地显示您的代码,这会很有帮助;这个插件非常小。我怀疑这是一次垃圾邮件尝试(甚至可能是病毒)。