2016-03-21 8 views
-1

Ich habe eine foreach-Schleife, die Datensatz aus einer Tabelle anzeigen, aber CKEDITOR ersetzt nur den ersten Datensatz. , wenn ich von HTML-Tabelle aktualisiert, um einige Datensatz klicken, um es zu formatieren nur nur ersten Datensatzwie CKEDITOR zu verwenden. Innerhalb von foreach in 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

ur-Code einfügen? –

+0

Teilen Sie Code! –

+0

//CKEDITOR.replace('about');

Antwort

1

Sie müssen CKEditor.replaceAll() statt CKEditor.replace() verwenden.

Beachten Sie, dass Sie diese Methode nur einmal aufrufen sollten, nachdem die DOM-Elemente nicht in jeder Iteration der Schleife erstellt wurden. Dann muss jedes Element einen anderen Namen haben, aber dieselbe Klasse verwenden. Zum Beispiel:

<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

dasselbe Problem, das ich entferne aus der Schleife, aber es ist das gleiche, auch ich gerade zu lernen lernen PHP –

+0

Siehe: http://plnkr.co/edit/GbvqBRXt5GcTLVygNvIB?p=preview – martin

+0

funktioniert gut, danke für alle Mitglieder. wirklich ein gutes Gefühl zu sehen, Menschen zu teilen. –

0

Wenn Sie alle Textfeldelemente zu CKEditor ersetzen möchten rufen Sie einfach an:

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

Nachdem alle Textfeldelemente;

CKEditor.replaceAll()

Verwandte Themen