如何使用jQuery更改CKEditor文本



我有一个带有CKEditor(bbCode插件)的文本区域

<textarea id="editor1" name="conteudo" class="form-control" rows="3" required></textarea>

这是我的CKEditor实例:

$( document ).ready( function() {
$( 'textarea#editor1' ).ckeditor();
} );

我正在进行一个JSON请求,它需要一个值,我希望在这个textarea中修改这个值,我尝试了jQuery,但没有成功!以下是我的尝试:

video_id = "lLi1Lx2xTKI";
$.getJSON('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc',function(data,status,xhr){
description = data.data.description;
// Attempt here
$("#editor1").html(description);
});

更新

我尝试过使用".val()",但没有成功!

您不能简单地通过jQuery向CKEDITOR添加文本,而是使用CKEDITOR 提供的api

CKEDITOR.instances.editor1.setData(data.data.description); 

这里你的代码看起来像

$.getJSON('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc',function(data,status,xhr){   
CKEDITOR.instances.editor1.setData(data.data.description); 
});

Fiddle

不要直接将描述写入文本区域,而是尝试CKEditor setData方法。你可以在这里找到它的描述:

http://docs.ckeditor.com/#/api/CKEDITOR.editor-method-popup

还要确保您的描述变量确实有一个值,我会使用临时alert(description);,但您也可以使用javascript调试器来执行此操作。

最新更新