2016-09-09 69 views
0

我的一个朋友的网站使用的是CKEditor 3.6.3。当我们通过jQuery/AJAX更新与CKEditor集成的div的内容时,CKEditor本身就会被破坏。如何解决这个问题?请注意,我们无法在此阶段更新CKEditor。CKEditor在通过jQuery更新div内容后被破坏AJAX

这就是我们如何整合CKEditor的给我们的div:

<script type="text/javascript" src="ckeditor/ckeditor.js"></script> 
<?php 
include_once "ckeditor/ckeditor.php"; 
require_once 'ckfinder/ckfinder.php' ; 

$CKEditor = new CKEditor(); 
$CKEditor->basePath = '/ckeditor/'; 
$CKEditor->config['width'] = 600; 
$CKEditor->textareaAttributes = array("cols" => 80, "rows" => 10); 
$initialValue = 'This is some sample text.'; 
CKFinder::SetupCKEditor($CKEditor,'ckfinder/') ; 
?> 

HTML:

<label for="desc">Description:</label> 
<div class="ckeditor" id="desc"><?php $CKEditor->editor('description', $description);?></div> 

的JQuery/AJAX:

$.ajax({ 
    beforeSend: startRequest, 
    url: "ajax/ajax.php", 
    cache: false, 
    data: "id="+id, 
    type: "POST", 
    dataType: "json", 
    success: function(data){ 
     if(data.error != "No result found.") 
     { 
      $("#desc").html(data.desc); 
     } 
    }); 
}); 

回答

0

你在做什么是你更改divhtml其中实际上有一些iframe和ckeditor正常工作的东西。但是有一个内置的方法来改变ckeditor的内容。它是setData。所以你需要做:

editor.setData(data.desc);