1

我在 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 的值时(如此处所述(ckeditor's jquery guide)),该值没有被设置。

有任何想法吗?谢谢!:)

4

1 回答 1

2

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

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

如果您真的想将您的编辑器与其文本区域同步:

CKEDITOR.instances.yourInstanceName.updateElement();

当您调用时,这也会自动发生:

CKEDITOR.instances.yourInstanceName.destroy()

您可以yourInstanceName通过浏览CKEDITOR.instances对象或阅读 textarea 的 id/name 找到(取决于您如何创建编辑器)。

快乐编码!;)

于 2012-11-22T22:31:32.840 回答