主题: ExtJs中,KindEditor的值无法关联改变 |
作者: fengyitian, 发布日期: 2012-06-18 11:00:53, 浏览数: 4577 |
我用ExtJS做的效果是,一个Grid列表,其中有一列为“编辑”,点击后弹出KindEditor。里面显示文章的具体内容。 但是KindEditor的值没办法跟着改变,永远都是第一个编辑的文章的内容。
我用的是editor.html(....)的方法 也无效
是这么写的。
form.getForm().load({ url:'.......?id='+id, success:function(form,action){ setTimeout(function(){ var editor=KindEditor.create('#textarea_a'); editor.html(action.response.responseText); },1000) } }) |
作者: Roddy, 发布日期: 2012-06-18 12:12:00 |
KindEditor.create是异步的,不能马上调用相关方法,可以这样写:
form.getForm().load({ url:'.......?id='+id, success:function(form,action){ setTimeout(function(){ var editor=KindEditor.create('#textarea_a', { afterCreate : function() { this.html(action.response.responseText); } }); },1000) } }) |
回复 |
作者: fengyitian, 发布日期: 2012-06-18 16:51:21 |
回复Roddy:非常感谢Roddy热心的回答,但是没有达到理想的效果,还是和之前一样,永远是第一个记录,不知道是什么造成的呢? 我在 afterCreate:function(){ this.html(action.response.responseText); 加上alert(action.response.responseText); }
证明每次action.response.responseText的值是正确的,也是变化的,不知道为什么this.html函数只第一次执行成功了 |
回复 |
作者: Roddy, 发布日期: 2012-06-18 18:15:23 |
回复fengyitian:不太可能啊,有没有发生JS错误呢。
|
回复 |
作者: Roddy, 发布日期: 2012-06-18 18:18:02 |
是不是关闭时没有移除编辑器呢,参考这个例子,http://www.kindsoft.net/ke4/examples/jquery-ui.html
|
回复 |
作者: fengyitian, 发布日期: 2012-06-21 17:07:47 |
回复Roddy:没有任何js错误呢,就是内容不变;关闭时确实没有卸载,因为这个弹出窗口关闭时并不销毁,而是隐藏了,所以,,,
|
回复 |
作者: Roddy, 发布日期: 2012-06-21 17:50:21 |
可以第一次创建,第二次开始直接editor.html('abc');,试试这样的方式。
if (!window.editor) { window.editor = K.create(); } else { editor.html('abc'); } |
回复 |