1

我将 html 加载到一系列 textareas 中,我给出了 display:none; 的样式。然后我有一个不错的下拉菜单,其中包含保存每个 textarea 的 ID 属性值的选项。

我让 jquery 监听下拉列表的变化,当检测到 ID 时,我使用可爱的 TinyMCE 插件将相应文本区域的值加载到主文本区域中。

没有 TinyMCE,一切正常。但是编辑器不会显示动态加载的 html 文本。

谁能看到我做错了什么?

代码:

<textarea id="template1"><div>Some html <b>inside this textarea</b><br>And more</textarea>
<textarea id="template2"><div>More html <b>inside this textarea</b><br>And more</textarea>

<select name="templateid" id="templateid"> 
  <option value="0">-------------</option>
  <option value="1">Load Template 1</option>
  <option value="2">Load Template 2</option>
</select>

<textarea id="maintemplate"></textarea>

<script language="javascript" type="text/javascript">
$(document).ready(function(){

$("#templateid").change(function(){ 
    var templateid = $(this).val();
    if(templateid == 0){ $("#templatetext").val(""); return false; }
    var html = $("#template"+templateid).val();
    $("#maintemplate").val(html); // this is ignored?
    return false;   
});


$("textarea#maintemplate").tinymce({
    script_url : '/includes/modules/tiny_mce/tiny_mce.js',// Location of TinyMCE script
    // General options
    theme : "advanced",
    plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",
    force_p_newlines : false,
    force_br_newlines : true,
    /*forced_root_block : '',*/
    // Theme options
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleprops,forecolor,backcolor,|,link,unlink,image,|,bullist,numlist,removeformat,code,|,cleanup,preview",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_buttons4 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_resizing : true,
});

});
</script>

你会看到:$("#maintemplate").val(html);是我加载其他文本区域的值的地方。但是编辑器只是没有显示它。(没有编辑器,它可以工作)

4

1 回答 1

1

谁能看到我做错了什么?

这是您的代码的工作演示(按原样粘贴)....

我唯一能指出的是你没有加载

<script type="text/javascript" src="../jscripts/tiny_mce/jquery.tinymce.js"></script>

希望能帮助到你!!!

于 2013-01-22T07:32:08.947 回答