与tinymce的jquery jtable

是否可以为创建/编辑操作添加用于jquery jtable插件的tinymce编辑器?

我是jTable插件的新手,但我需要在jquery jtable的Create / Edit操作中为一个字段设置tinymce编辑器,所以我想知道我可以使用jtable吗?

我知道我可以在创建/编辑表单中将jtable字段设置为textarea,所以我想知道我是否可以在某处添加tinymce?

1)如果我使用简单的标准代码在主页面中添加tinymce(调用jtable的地方),那么创建/编辑记录(没有tinymce)就没有任何事情发生:

 tinymce.init({ selector: "textarea" });  

2)我还尝试编辑核心jtable文件,为每个textarea添加tinymce。 它向我展示了tinymce编辑器,但问题在于POST。 当我发布表单时,它总是给我空值(应该用tinymce编辑的那个)。

这就是我在jtable脚本中直接添加tinymce的方法:

 .append('tinymce.init({selector: "textarea"});'); 

3)最后一次认为我尝试过,使用字段的jTable输入选项:

 article: { title: 'Article', input: function (data) { return 'tinymce.init({selector: "textarea"});'; }, 

这给我一些语法错误。 我有一些语法错误,但我确信我可以使用这样的东西。

试试这段代码:

 formCreated: function(event, data) { tinymce.init({ selector: "textarea" }); } 

经过测试,似乎这个解决方案解决了TinyMCE没有保存到textarea的问题(原因 – jtable中的提交事件被重载)。 此外, 此解决方案在jTable关闭并重新打开编辑窗格时卸载并重新加载TinyMCE。

将它们放在一起 – 这对我有用:

 formCreated: function (event, data) { tinymce.init({ selector: 'textarea', setup: function (editor) { editor.on('change', function () { editor.save(); }); } }); for (var editor_id in tinyMCE.editors) { tinyMCE.editors[editor_id].getBody().setAttribute('readonly', '1'); tinymce.EditorManager.execCommand('mceAddControl', true, editor_id); tinymce.EditorManager.execCommand('mceAddEditor', true, editor_id); } }, formClosed: function (event, data) { for (var editor_id in tinyMCE.editors) { tinyMCE.editors[editor_id].getBody().setAttribute('readonly', '1'); tinymce.EditorManager.execCommand('mceRemoveControl', true, editor_id); tinymce.EditorManager.execCommand('mceRemoveEditor', true, editor_id); } }