Tengo 4 elementos de Textarea que quiero aplicarles CKEditor, pero solo se aplica el primero a pesar de que puse una clase en lugar de una identificación
no soy bueno con js asi que copio lo que vi en los archivos
HTML:
<div class="service-fields mb-3"> <div class="row"> <div class="col-lg-12"> <div class="form-group"> <label class="h6">something<span class="text-danger">*</span></label> <textarea class="editor form-control service-desc" name="editor2" id="editor2" cols="45" rows="5"></textarea> </div> </div> </div> </div> <div class="service-fields mb-3"> <div class="row"> <div class="col-lg-12"> <div class="form-group"> <label class="h6">something <span class="text-danger">*</span></label> <textarea class="editor form-control service-desc" name="editor3" id="editor3" cols="45" rows="5"></textarea> </div> </div> </div> </div>Guion:
<script src="assets/js/ckeditor.js"></script> <script> ClassicEditor .create( document.querySelector( '.editor' ), { // toolbar: [ 'heading', '|', 'bold', 'italic', 'link' ] } ) .then( editor => { window.editor = editor; } ) .catch( err => { console.error( err.stack ); } ); </script>Debe iterar sobre todas las instancias de áreas de texto e inicializar CkEditor en cada elemento.
<script> let elements = document.querySelectorAll('.editor') for (let element of elements) { ClassicEditor.create(element, {}) .then( editor => { element.ckEditor = editor; } ) .catch( err => { console.error( err.stack ); } ); } </script>