[英]Display tinymce textarea dynamically
我有一個下拉列表,當做出選擇時,將使用ajax在表單中將一堆元素插入到DOM中,在此表單中我有textareas,我希望是TinyMCE textareas。
我的HTML頭部里面有這個:
<script type="text/javascript">
tinymce.init({
selector: "textarea"
});
</script>
這是我用來添加一堆元素的ajax函數,這是我需要的工作方式。
function getSecFacility(facsecid, facid) {
$("#new_section_form").hide();
$.ajax({
type: "POST",
url: "facility_section_information.php",
data: 'facility_section_id='+facsecid+'&facility_id='+facid,
success: function(data){
$("#selected_fac_section").html(data);
}
});
//loadTinyMCEEditor();
};
我的頁面上有其他textareas沒有被ajax插入,並且它們顯示為WYSIWYG編輯器沒問題,問題是當我添加新元素時。
我已經檢查了其他幾個問題,試圖找到一個“答案”,但沒有任何工作。
我嘗試在我的ajax調用之后創建一個名為loadTinyMCEEditor()
的函數,我在getSecFacility()
函數中調用它。 在這個函數中,我試圖為這些新添加的textareas重新初始化tinyMCE。
loadTinyMCEEditor()
看起來像這樣:
function loadTinyMCEEditor() {
tinyMCE.init({
selector: "textarea"
});
tinyMCE.execCommand('mceAddControl', false, 'test'); //test is the class name I gave this textarea
//tinyMCE.execCommand('mceAddControl', true, 'test'); //tried setting the bool to true..even tried without these lines
}
無論我嘗試什么,我似乎無法使用新插入的textareas,我怎樣才能讓這些textareas成為TinyMCE textareas?
編輯
在我從下拉列表中進行選擇后,我現在可以查看編輯器到我新添加的textareas。 然而,這只能工作一次,如果我做第二次選擇,新的textareas只顯示為普通的textareas。 這是我在ajax函數中改變的內容:
function getFacSecFacility(facsecid, facid) {
$("#new_section_form").hide();
$.ajax({
type: "POST",
url: "facility_section_information.php",
data: 'facility_section_id='+facsecid+'&facility_id='+facid,
success: function(data){
$("#selected_fac_section").html(data);
loadTinyMCEEditor();
}
});
};
function loadTinyMCEEditor() {
tinymce.init({
selector: "textarea"
});
}
因此,在我做出選擇之后,這個ajax函數將運行並顯示新的textareas +其他表單信息,我重新初始化了tinymce編輯器,但由於某種原因,這只能工作一次。
我應該更改/做什么,以便我可以從我的下拉列表中進行多項選擇,以便每次新textareas顯示為tinymce textareas?
您需要使用傳入的ajax內容調用tinyMCE.activeEditor.setContent
。 在你的回調嘗試:
tinyMCE.activeEditor.setContent(data);
問候
如果要將#selected_fac_section
轉換為tinymce編輯器,則應在成功函數中調用tinymce的init函數。 除非另外定義,否則Ajax調用是異步的。 所以,如果你試圖在ajax調用之外初始化textarea,那么仍然不會有一個textarea用tinymce來裝飾,因為ajax調用還沒有完成。 這次使用選擇器的id值,你應該好好去。
我是通過手機寫的,所以在這里編寫代碼很痛苦。 對不起。 只是想在你看到我的另一個答案評論之后迅速幫助你。 將在早上檢查這個帖子,以確保您是否需要更多幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.