使用jquery设置ckeditor实例值

时间:2012-11-20 22:32:21

标签: jquery ckeditor

我在newedit.js文件中有以下脚本。

$(document).ready(function() {
    $("[id^=save]").click(function() {
        $("#scholarship-short_desc").val("test");
        alert($("#scholarship-short_desc").val());
        $("form").submit();
    });

    $("#scholarship-short_desc").ckeditor();
});

我的html文件中也有以下条目。我正在使用ckeditor 3.6.5。

<script src="/myapp/javascripts/ckeditor/ckeditor.js" type="text/javascript"></script>
<script src="/myapp/javascripts/ckeditor/adapters/jquery.js" type="text/javascript"></script>
<script src="/myapp/javascripts/scholarships/newedit.js" type="text/javascript"></script>

这会在我的页面中正确显示ckeditor。但是当我尝试使用val函数设置textarea的值时(如here (ckeditor's jquery guide)所述),该值未被设置。

有什么想法吗?谢谢! :)

1 个答案:

答案 0 :(得分:2)

CKEditor不会在您的textarea上运行,而是在iframe中启用的合成contenteditable-enabled html页面上运行。您可以这样设置编辑器的新内容:

CKEDITOR.instances.yourInstanceName.setData( '<h1>Your HTML</h1>' );

如果您真的想要将编辑器与其textarea同步:

CKEDITOR.instances.yourInstanceName.updateElement();

当您致电时,这也会自动发生:

CKEDITOR.instances.yourInstanceName.destroy()

您可以通过浏览yourInstanceName对象或阅读textarea的ID /名称(取决于您创建编辑器的方式)找到CKEDITOR.instances

快乐的编码! ;)