1

データベースから CK Editor にデータをバインドしようとしています。しかし、それは正しく動作しません.データは取得されますが表示されず、Google Chromeで要素を検査するをクリックしたときにのみ表示されます.

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

4 に答える 4

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();
   } );
} );

新しい jQuery アダプター (4.2 以降)の公式ガイドをお読みください。

于 2013-08-14T20:52:48.667 に答える
0

試す :

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

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

</script>

BindData()ckeditor init の後に関数を呼び出します。

于 2013-08-14T12:24:16.717 に答える
0

使用できます:

CKEDITOR.instances[ckeditorname].setData(yourdata)

ckeditor インスタンスの後にデータをバインドするには

于 2013-08-14T12:13:52.893 に答える