Javascript 向多个动态创建的文本区域添加tinyMCE

Javascript 向多个动态创建的文本区域添加tinyMCE,javascript,jquery,html,Javascript,Jquery,Html,我有一个动态创建的文本区域列表,其中包含内容。下面是我如何检索数据和动态创建文本区域的 $(document).ready(function(){ $('#btn').click(function(){ var fullurl = $('#hiddenurl').val(); var str = $('#email').val(); $.post(fullurl, { sendValue : str }, function(data) {

我有一个动态创建的文本区域列表,其中包含内容。下面是我如何检索数据和动态创建文本区域的

$(document).ready(function(){

$('#btn').click(function(){
    var fullurl = $('#hiddenurl').val();
    var str = $('#email').val();
    $.post(fullurl, {
        sendValue : str
    }, function(data) {
        var table_output = '<table><thead><tr><th>Name</th><th>Email</th></tr></thead>';
    $.each(data, function(i, d) {
        table_output += '<tr><td>'+d.Name+'</td><td>'+d.Email+'</td></tr>';
        output += '<tr><td colspan="2"><textarea name="description" id="desc_'+d.ID+'" class="desc">'+d.Description+'</textarea></td></tr>';            

        tinyMCE.init({
            mode : "exact",
            elements : 'desc_'+d.ID,
            theme_advanced_buttons1 : "mylistbox,mysplitbutton,bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink",
            theme_advanced_buttons2 : "",
            theme_advanced_buttons3 : "",
            theme_advanced_toolbar_location : "top",
            theme_advanced_toolbar_align : "left",
            theme_advanced_statusbar_location : "bottom"
        });

    });
 table_output += '</table>';
 $('#task_data_div').append(table_output);
$(文档).ready(函数(){
$('#btn')。单击(函数(){
var fullurl=$('#hiddenurl').val();
var str=$('#email').val();
$.post(完整URL{
发送值:str
},函数(数据){
变量表_输出='namemail';
$。每个(数据、函数(i、d){
表_输出+=''+d.Name+''+d.Email+'';
输出+=''+d.描述+'';
tinyMCE.init({
模式:“精确”,
元素:“描述”+d.ID,
主题高级按钮1:“mylistbox、mysplitbutton、粗体、斜体、下划线、分隔符、删除线、左对齐、居中对齐、右对齐、满对齐、bullist、numlist、撤消、重做、链接、取消链接”,
主题\高级\按钮2:“”,
主题\高级\按钮3:“”,
主题\高级\工具栏\位置:“顶部”,
主题\高级\工具栏\对齐:“左”,
主题\高级\状态栏\位置:“底部”
});
});
表_输出+='';
$('#task_data_div')。追加(表输出);
我试着实现tinyMCE,如上图所示,但它似乎不起作用。有人能帮我吗,也许能给我指出正确的方向


谢谢。

为了简单起见,我不得不考虑您的Ajax调用,但是我的
#btn
单击处理程序将透明地插入到您的成功处理程序中

演示(JSFIDLE)

HTML

按钮
Javascript(+jQuery,+tinyMCE)

$(文档).ready(函数(){
变量数据=[{ID:“1”,说明:“文本1”},{ID:“2”,说明:“文本2”}];
$('#btn')。单击(函数(){
$。每个(数据、函数(i、d){
$('show#u data')。追加(''+d.Description+'');
tinyMCE.init({
模式:“精确”,
元素:“描述”+d.ID,
主题高级按钮1:“mylistbox、mysplitbutton、粗体、斜体、下划线、分隔符、删除线、左对齐、居中对齐、右对齐、满对齐、bullist、numlist、撤消、重做、链接、取消链接”,
主题\高级\按钮2:“”,
主题\高级\按钮3:“”,
主题\高级\工具栏\位置:“顶部”,
主题\高级\工具栏\对齐:“左”,
主题\高级\状态栏\位置:“底部”
});
});
});
});

Hi@T.W.R.Cole你能看一看我在顶部更新的新代码吗?很遗憾,我不得不处理一个表,我尝试将你的实现添加到我的代码中,但很遗憾它打破了我的表:S你能给我提些建议吗?非常感谢!你改变了一个重要的逻辑:append调用必须在调用tinyMCE.in之前it()。这非常关键。鉴于我的情况,我如何实现这一点,因为我必须在末尾附加标记。那么,您可能必须有两个$。每个(…)循环。一个用于创建所有表和纯文本区域,另一个用于将所有文本区域“增强”为tinyMCE组件
<button id="btn">button</button>
<div id="show_data"></div>
$(document).ready( function() {
    var data = [{ID:"1",Description:"text 1"}, {ID:"2",Description:"text 2"}];

    $('#btn').click( function() {
        $.each( data, function(i, d) {
            $('#show_data').append('<textarea name="description" id="desc_'+d.ID+'" class="desc">'+d.Description+'</textarea>');
            tinyMCE.init({
                mode : "exact",
                elements : 'desc_'+d.ID,
                theme_advanced_buttons1 : "mylistbox,mysplitbutton,bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink",
                theme_advanced_buttons2 : "",
                theme_advanced_buttons3 : "",
                theme_advanced_toolbar_location : "top",
                theme_advanced_toolbar_align : "left",
                theme_advanced_statusbar_location : "bottom"
            });
        });
    });

});