我试图在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编辑器工作..但如果我添加更多这些它将无法工作..
希望你们总能找到答案!
答案 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。