ckeditor - 为textareas添加更多编辑器

时间:2014-02-21 12:57:11

标签: javascript jquery ckeditor

我试图在textareas中添加一些编辑器

我写的时候

<textarea class="ckeditor" id="editor5"></textarea>
<textarea class="ckeditor" id="editor6"></textarea>
<textarea class="ckeditor" id="editor7"></textarea>
<textarea class="ckeditor" id="editor8"></textarea>
<textarea class="ckeditor" id="editor9"></textarea>

它正如我想要的那样..但我使用它来添加更多textbo

message = new Array();
jQuery.fn.update_textarea = function(test) { 
    $("#articles_textarea").html('');
    for (i=0;i<test;++i) { 
        if (message[i]) { $("#articles_textarea").append('<h2>askda</h2><textarea class="ckeditor" id="editor' + [i] + '"></textarea>'); }
        else { message[i] = ''; $("#articles_textarea").append('<h2>askda</h2><textarea class="ckeditor" id="editor' + [i] + '"></textarea>'); }
    }
}

并且在开始时它只广告1 textarea然后ck编辑器工作..但如果我添加更多这些它将无法工作..

希望你们总能找到答案!

小提琴:http://jsfiddle.net/BpvQ5/

1 个答案:

答案 0 :(得分:1)

每当你创建一个新的textarea时,需要调用CKEDITOR.replace来替换这个textarea作为编辑器:

jQuery.fn.update_textarea = function(test) 
{ 
    $("#articles_textarea").html('');
    for (i=0;i<test;++i) 
    {       
        if (message[i]) 
            { 
                $("#articles_textarea").append('<h2>askda</h2><textarea class="ckeditor" id="editor' + i + '"></textarea>'); 
            }else {
                message[i] = ''; $("#articles_textarea").append('<h2>askda</h2><textarea class="ckeditor" id="editor' + i + '"></textarea>'); 
            }
            CKEDITOR.replace( 'editor' + i );
    }
}

无论如何,你的代码失败了,因为你正在使用olders的id创建新的textareas。

http://jsfiddle.net/BpvQ5/4/