2017-06-15 29 views
0

我想要我的頁面中的所有CKEditor實例的getData(),它們的ID以「desccription_」開頭,將這些數據放在數組中但它不起作用,這是我的代碼:所有實例的Ckeditor getData其中id開頭的內容爲「content_」

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:要使用文本域沒有ID /名稱,實例化它們使用自己的DOM元素是這樣的:

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

然後,每個實例將被命名爲editor1,editor2等。

UPDATE2:要想從CKEditor的情況下,其原始文字區域有一個名爲「my_custom_class」類數據,使用:

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

感謝了很多人! ;)它適用於我,但我有另一個問題,我想你不能得到兩個CKE具有相同的名稱/編號的數據,所以我無法獲取我的所有實例的數據,因爲我有相同名稱的CKE –

+0

否,你不能。如果您有多個具有重複ID /名稱的實例,則只有最後一個實例可用於交互,因爲'CKEditor.instances'將只包含一個實例。 – Wizard

+0

好的謝謝,但它可以取代textarea與ckeditor沒有id在textarea上? –

相關問題