2016-03-21 5 views
-1

У меня есть цикл foreach, который отображает запись из таблицы, но CKEDITOR заменяет только первую запись. , когда я нажимаю на какую-то запись в обновленных из HTML таблицы это только форматировать только первую записьспособ применения CKEDITOR. внутри foreach в php

//CKEDITOR.replace('about'); 
<?php foreach($GetAll as $get) : ?> 
    <div class="form-group"> <label>Short Description</label> 
     <textarea class="form-control" name="about" rows="3"><?php echo $get->description?></textarea> 
     <script type='text/javascript'> 
     CKEDITOR.replace('about'); 
     </script> 
    </div> 
<?php endforeach ; ?> 
+0

паста ур код? –

+0

Поделитесь некоторым кодом! –

+0

//CKEDITOR.replace ('about');

ответ

1

Вы должны использовать CKEditor.replaceAll() вместо CKEditor.replace().

Обратите внимание, что этот метод следует вызывать только один раз после создания элементов DOM не на каждой итерации цикла. Тогда каждый элемент должен иметь другое имя, но использовать тот же класс. Например:

<textarea class="about form-control" name="about1"></textarea> 
<textarea class="about form-control" name="about2"></textarea> 
<textarea class="about form-control" name="about3"></textarea> 

<script type='text/javascript'> 
CKEDITOR.replaceAll('about'); 
</script> 

Plnkr: http://plnkr.co/edit/GbvqBRXt5GcTLVygNvIB?p=preview

+0

та же проблема i remove из цикла, но его то же самое, также им только начинается обучение php –

+0

См. Http://plnkr.co/edit/GbvqBRXt5GcTLVygNvIB?p=preview – martin

+0

отлично работать, спасибо всем. действительно хорошее чувство, чтобы люди делились. –

0

Если вы хотите заменить все TEXTAREA элементы CKEditor просто позвонить:

<script> 
    /* Replace all <textarea> elements in the page. */ 
    CKEDITOR.replaceAll(); 
</script> 

После всех элементов текстовой области;

CKEditor.replaceAll()

Смежные вопросы