我将 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);
是我加载其他文本区域的值的地方。但是编辑器只是没有显示它。(没有编辑器,它可以工作)