SCRIPT
$('.DDL').change(function update() {
$.get('../Folder' + $(this).val() + '.html', function(result) {
$('.CKE').val(result);
});
});
TEXTAREA
<asp:CKEditorControl ID="txtMailBody" CssClass="CKE" RunAt="Server" BasePath="~/Editor"/>
我有一些jscript根据他们的选择用相关内容填充我的textareas。
javascript完美地填充任何textarea。
当我的textarea是我的ckeditor时,它不起作用。
检查页面显示正在添加内容但ckeditor不显示该内容。刷新页面也会导致内容出现。
问题
如何让CKEditor textarea刷新/更新以显示已从下拉列表中动态添加的客户端代码?
答案 0 :(得分:13)
使用
CKEDITOR.instances['txtMailBody'].setData(result);
而不是
$('.CKE').val(result);
..更新CKEditored'textarea。
时选择要插入文字片段的框:
<select id="test">
<option>some text to be inserted</option>
<option>some other text</option>
<option>even more text</option>
</select>
成为CKEditor实例的textarea
<textarea id="txtMailBody"></textarea>
脚本
//create the CKEditor instance
CKEDITOR.replace("txtMailBody");
$("#test").change(function() {
var result = $("#test option:selected").text();
//HERE
CKEDITOR.instances['txtMailBody'].setData(result);
//instead of $(textarea).val(result);
});
当然, 当目标是CKEditor时,您应该使用CKEDITOR.instances['txtMailBody'].setData(result);
,否则 - 如果它是textarea,请使用您已有的代码。