2014-02-21 22 views
0

我試着去一些編輯添加到文字區域CKEditor的 - 增加更多的編輯人員文字區域

當我寫

<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/

+0

你能提供一個jsfiddle嗎?那麼我們很容易 – 2014-02-21 12:59:51

+0

當然可以!我可以修復:) – Tommy

+0

小提琴在編輯!但是現在我注意到它根本不適用於我的腳本:S – Tommy

回答

1

每次dinamically創建一個新的文本區域,需要調用CKEDITOR.replace替換該文本區域作爲一個編輯:

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

無論如何,你的代碼,因爲你正在創造新的文字區域失敗與老人的身份證。

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

+0

謝謝噓!那真是太棒了! :) – Tommy