CK编辑器无法获取数据

时间:2013-08-14 11:27:53

标签: javascript jquery html ckeditor

我正在尝试从数据库中绑定CK Editor中的数据。但它也不正常,数据是获取但不显示,仅在点击Google Chrome中的inspect元素时显示。

HTML

 <textarea id="input" name="input"></textarea>

JS

<script>
 $(document).ready(function () {
    $("#input").ckeditor();
 });       
function BindData() {
 $("#input").val('This is CK Editor Demo');   
}
BindData();
</script>

链接Here

4 个答案:

答案 0 :(得分:1)

首先,你必须等待DOM准备好,然后你必须等待编辑器准备好,最后你可以绑定你的数据:

// Wait for DOM to be ready.
$( document ).ready( function() {
   // Create an instance of the editor.
   $( '#input' ).ckeditor( function( textarea ) {
     // When the instance is ready, set some data.
     $( textarea ).val( 'This is CK Editor Demo!' );  
   } );
} );

或使用外部方法:

function BindData() {
  $( '#input' ).val( 'This is CK Editor Demo!' );  
}

// Wait for DOM to be ready.
$( document ).ready( function() {
   // Create an instance of the editor.
   $( '#input' ).ckeditor( function() {
     // When the instance is ready, set some data.
     BindData();
   } );
} );

阅读official guide以获取新的jQuery适配器(自4.2起)。

答案 1 :(得分:0)

您加载ckeditor并填写textarea后。没办法,ckeditor已加载。一个没有实时更新。你必须改变秩序。

<script>
function BindData() {
 $("#input").val('This is CK Editor Demo');   
}
BindData();

 $(document).ready(function () {
    $("#input").ckeditor();
 });       
</script>

答案 2 :(得分:0)

您可以使用:

CKEDITOR.instances[ckeditorname].setData(yourdata)

在ckeditor实例

之后绑定数据

答案 3 :(得分:0)

尝试:

<script>
 $(document).ready(function () {
    $("#input").ckeditor();
    BindData();
 });

function BindData() {
    CKEDITOR.instances["input"].setData('This is CK Editor Demo');   
}

</script>

在ckeditor init之后调用BindData()函数。