如何通过javascript为动态创建的textarea加载tinyMCE

时间:2016-12-02 07:57:19

标签: javascript jquery tinymce

var newDiv = document.createElement(' span');

 newDiv.setAttribute("id", "optionCount" + currentOptionCount);
 document.getElementById('more3').appendChild(newDiv);

            var strToAdd=""  ;
            strToAdd =strToAdd + currentOptionCount+')';
            strToAdd = strToAdd + '<input type="radio" name="rightanswer" value="'+currentOptionCount+'"/>';
            strToAdd = strToAdd + '<br/>';
            strToAdd = strToAdd + '<textarea class="tinymce-enabled" name="multians'+currentOptionCount+'" cols="60" rows="6"></textarea>';
            alert("multians"+currentOptionCount);
            strToAdd = strToAdd + '<br/>';
            strToAdd =strToAdd + '</span>';

         newDiv.innerHTML=strToAdd;

         $('#more3').append(newDiv);


 //   tinymce.EditorManager.execCommand('mceAddEditor', true, "multians"+currentOptionCount);
  tinyMCE.EditorManager.execCommand('mceAddControl', true, "multians"+currentOptionCount);

// tinyMCE.init();

以上javascript代码动态创建textarea。已经存在的静态textarea与tinyMCE的菜单一起出现,但是这个动态创建的textareas是作为普通的textarea生成的。

所以请提出我正在犯的错误。

先谢谢。

1 个答案:

答案 0 :(得分:0)

我对你的代码进行了一些小改动,并将其发布到TinyMCE Fiddle:

http://fiddle.tinymce.com/3Dfaab

这会将TinyMCE加载到动态创建的<textarea>

实际上你的最后一行不对 - 我使用tinymce.init({})代替,但最终结果是一样的。