سؤال

I have a textarea with CKEditor (bbCode Plugin).

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

This is my CKEditor instance:

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

I'm making a JSON request that takes a value and I want this value to be modified in this textarea, I tried with jQuery but not worked ! Below is my attempt:

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);
});

UPDATE

I tried using '.val()' and not worked!

هل كانت مفيدة؟

المحلول

You can't simply add text to the CKEDITOR via jQuery, instead go with api given by CKEDITOR

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

Here your code looks like

$.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

نصائح أخرى

Instead of writing the description directly into the text area, try the CKEditor setData method. You can find a description of it here:

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

also be sure that your description variable does have a value, I'd use a temporary alert(description); for this but you may be able to do it with a javascript debugger also.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top