2017-06-15 9 views
0

自分のIDが "desccription_"で始まるこれらのデータを配列に入れても動作しないマイページ内のすべてのCKEditorインスタンスのgetData()これは私のコードです:"content_"で始まるすべてのインスタンスのCkeditor getData

var tab_desc = new Array(); 
$('#bloc_etapes fieldset').each(function(index) 
{  
    var desc_dyn = CKEDITOR.instances[id^="description_"].getData(); 
    //var desc_dyn = $('#desc_etape'+(index+1)).val(); -------------------------ok with textarea only(without replacing them by CKE) 
    tab_desc.push(desc_dyn); 
}); 

誰かが解決策を持っているなら、私は彼に感謝します!

答えて

0
var tab_desc = []; 
for (var i in CKEDITOR.instances) { 
    if (i.indexOf('description_') == 0) { 
     tab_desc.push(CKEDITOR.instances[i].getData()); 
    } 
} 

UPDATE:このようなDOM要素として自分自身を使用してインスタンス化し、ID /名前なしテキストエリアを使用するには:

$('textarea').each(function() { 
    CKEDITOR.replace(this); 
}); 

その後、各インスタンスは、その上editor1、editor2とという名前になります。

アップデート2は:、オリジナルのテキストエリア「my_custom_class」という名前のクラスがありCKEditorバージョンのインスタンスからデータを取得し、これを使用するには:

for (var i in CKEDITOR.instances) { 
    if (CKEDITOR.instances[i].element.$.classList.contains('my_custom_class')) { 
     console.log(CKEDITOR.instances[i].getData()); 
    } 
} 
+0

おかげでたくさんの男を! ;)それは私のために働くが、私は別の問題を抱えている私は同じ名前/ IDを持つ2つのCKEのデータを得ることができないと思うので、私はすべてのインスタンスのデータを取得することができない原因私は同じ名前のCKEを持っている –

+0

いいえ、 できません。重複したid/nameを持つインスタンスが複数ある場合、 'CKEditor.instances'にはインスタンスが1つしか含まれないため、最後のインスタンスだけが対話できます。 – Wizard

+0

okありがとうございますが、textareaをtextareaのidを付けずにckeditorに置き換えることは可能ですか? –

関連する問題