如何使用jQuery更改CKEditor文本?

时间:2014-02-28 20:41:31

标签: javascript jquery json ckeditor bbcode

我有一个带有CKEditor(bbCode插件)的textarea。

<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()'但没有用!

2 个答案:

答案 0 :(得分:13)

你不能简单地通过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

答案 1 :(得分:2)

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

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

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