Добавление нескольких экземпляров CKEditor в jquery - PullRequest
6 голосов
/ 14 июля 2011

Я экспериментирую с различными текстовыми областями JavaScript в формате WYSIWYG. Если я пытаюсь установить CKEditor на каждый <textarea> на моем экране с помощью jquery, все редакторы отображаются нормально, но они не сохраняются. Я пробовал:

$(function() {
$('.editors').ckeditor();
});

и

$(function() {
$('.editors').each(function(index, element){
    $(element).ckeditor();
});
});

В обоих случаях в каждой текстовой области есть CKEditor, но он не сохраняется. Если я вручную добавлю все редакторы с

$(function() {
CKEDITOR.replace('contactText');
CKEDITOR.replace('edit_footer_text');
CKEDITOR.replace('termsText');
});

или

$(function() {
$('#contactText').ckeditor();
$('#edit_footer_text').ckeditor();
$('#termsText').ckeditor();
});

Все три поля имеют редакторы, и они сохраняются.

Я пытаюсь поместить некоторый код в стандартный шаблон этого проекта, чтобы, если нам нужны редакторы в текстовых областях, им просто нужно было добавить к ним класс «редакторы», поэтому я и ищу Решения jQuery. Это работало с tinymce:

$(function() {
     $('.editors').tinymce({
           script_url : '/common/tiny_mce/tiny_mce.js',
               // General options
               mode : "textareas",
              theme : "advanced",
         })
});

1 Ответ

13 голосов
/ 14 июля 2011

На самом деле, адаптер jQuery для CKEditor не обновляет элемент формы по умолчанию, вам нужно заменить редактор с текущим идентификатором.

$(function() {
$('.editors').each(function(){
    CKEDITOR.replace( $(this).attr('id') );
});
});

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...