如何使用CKEDITOR。在PHP中的foreach内部

时间:2016-03-21 07:20:32

标签: javascript php ckeditor

我有一个foreach循环显示表中的记录,但CKEDITOR只替换第一个记录。 当我点击某些记录从html表更新时,它只是格式化第一条记录

//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 ; ?>

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

如果要将所有textarea元素替换为CKEditor,只需调用:

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

在所有textarea元素之后;

  

CKEditor.replaceAll()