javascript - 如何使用ajax在CKEDITOR中动态加载模板?

标签 javascript jquery ajax ckeditor

我有一个用于保存模板的数据库表。所有内容均为 HTML 格式,我想使用 AJAX 获取特定模板。

这是我的代码:

HTML 部分

<div class="form-group">
    <label>Select Template: <span class="text-info">(*Optional)</span></label>
    <select class="form-control" name="load_template" id="load-template">
        <?php if(count($templates) > 0) { ?>
        <option value="">-- load template --</option>
        <?php foreach($templates as $temp) { ?>
            <option value="<?php echo $temp['id']; ?>"><?php echo $temp['template_name']; ?></option>
        <?php } ?>
        <?php } else { ?>
            <option value="">There are no saved templates</option>
        <?php } ?>
    </select>
</div>

JS部分

$('#editor').ckeditor();

$('#load-template').on('change', function(){
    var id = $(this).val();
    //do some ajax to get content...
    console.log(id);
    $.ajax({
        url: "<?php echo site_url('users/user/getLoadTemplate'); ?>",
        data: {template_id: id},
        dataType: 'html',
        type: 'post',
        beforeSend: function() {},
        success: function(template) {
            $('#editor').html(template);
            console.log(template); //ok it shows the HTML but how can I load it in my ckeditor?
        },
        error: function() {
            alert('Unable to load template. Error in AJAX');
        }
    });
});

PHP端

public function getLoadTemplate() {
    $type = $this->input->post('template_id');
    $get_template = $this->Users_model->getLoadTemplate($type);
    echo $get_template['template'];
}

如何在 CKEDITOR 中加载我的 ajax 响应 HTML?

最佳答案

而不是这个

$('#editor').html(template);

试试这个

CKEDITOR.instances['editor'].insertHtml(template) 
                   or
CKEDITOR.instances.editor.insertHtml(template)

关于javascript - 如何使用ajax在CKEDITOR中动态加载模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39035058/

相关文章:

javascript - 从我的 Controller 返回不同于 200 的代码以触发 ajax 错误是否被认为是好的做法?

ajax - 链接 AJAX 请求 - Angular 2 和 ES2015 Promises

javascript - 如何检测ajax结果中的新行?

javascript - 如何根据html vue js中的选择选项添加行?

javascript - CKEditor - 如何获取模板属性

javascript - 通过javascript更改div中属性的事件监听器

php - 如何将 JavaScript 代码传递给 Yii 框架方法?

javascript - JW Player javaScript API 不工作

javascript - 如何将类添加到单选按钮组中未单击的单选按钮

javascript - jQuery 是如何处理点击事件的?