у меня есть cms, где при нажатии открывается модальное окно, и внутри у меня есть несколько полей, а затем у меня есть еще одна кнопка внутри модального окна, где я могу динамически добавлять поля ckeditors, нажав кнопку, вот что я пытался сделать:
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel = "stylesheet"/>
<link href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" rel = "stylesheet"/>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class = "col-md-12">
<button style = "margin-bottom:5px;" type = "button" data-toggle = "modal" data-target = "#add_data_Modal" class = "btn btn-success"><i class = "fa fa-plus" aria-hidden = "true"></i> Adauga</button>
</div>
<div id = "add_data_Modal" class = "modal fade" role = "dialog">
<div class = "modal-dialog modal-lg">
<!-- Modal content-->
<div class = "modal-content">
<div class = "modal-header">
<button type = "button" class = "close" data-dismiss = "modal">×</button>
<h4 class = "modal-title">Adauga categorie</h4>
</div>
<div class = "modal-body">
<div class = "row">
<div class = "container">
<form action = "add.php" method = "POST">
<div class = "form-group">
<label for = "input-1">Nume Categorie</label>
<input type = "text" class = "form-control" name = "nume" id = "nume" placeholder = "Nume categorie">
</div>
<div class = "form-group">
<label for = "input-1">Categorie</label>
<select class = "form-control" id = "categorie" name = "categorie">
<option value = "0">Categorie principala</option>
</select>
</div>
<div class = "form-group">
<label for = "input-1">Vizibil</label>
<select class = "form-control" id = "activ" name = "activ">
<option selected>Selecteaza vizibilitatea</option>
<option value = "1">Da</option>
<option value = "0">Nu</option>
</select>
</div>
<div class = "form-group">
<label for = "input-1">Pozitia</label>
<input type = "text" class = "form-control" name = "pozitie" id = "pozitie" placeholder = "Pozitie">
</div>
<div class = "row">
<div class = "col-md-4">
<div class = "form-group">
<div class = "icheck-material-primary">
<input type = "checkbox" id = "user-checkbox1" checked = "">
<label for = "user-checkbox1">Modele Produse</label>
</div>
</div>
</div>
<div class = "col-md-4">
<div class = "form-group">
<div class = "icheck-material-primary">
<input type = "checkbox" id = "user-checkbox2" checked = "">
<label for = "user-checkbox2">Paletar Materiale</label>
</div>
</div>
</div>
<div class = "col-md-4">
<div class = "form-group">
<div class = "icheck-material-primary">
<input type = "checkbox" id = "user-checkbox3" checked = "">
<label for = "user-checkbox3">Estimare Pret</label>
</div>
</div>
</div>
</div>
<div class = "form-group">
<div class = "rowa">
<div class = "add-plus">Adauga tab-uri</div>
<div class = "col-md-12">
<span id = "add_aut" class = "btn btn-primary">+</span>
<div id = "auth-rows"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class = "modal-footer">
<button type = "button" class = "btn btn-secondary" data-dismiss = "modal"><i class = "fa fa-times"></i> Inchide</button>
<button type = "submit" name = "submit" class = "btn btn-primary"><i class = "fa fa-check-square-o"></i> Salveaza</button>
</div>
</form>
</div>
</div>
</div>
<script>
$(document).ready(function(e){
// variable
var html3 = '<div class = "row" id = "parent-autor"> <p id = "auth-del"><i class = "fa fa-minus-square" aria-hidden = "true"></i></p> <div class = "row"> <div class = "col-md-4"> <div class = "form-group"> <input type = "text" class = "form-control" placeholder = "titlu_tab" name = "titlu_tab[]"> </div> </div> <div class = "col-md-4"> <div class = "form-group"> <input type = "text" class = "form-control" placeholder = "Pozitie" name = "pozitie_tab[]"> </div> </div> </div> <div class = "col-md-12"> <div class = "form-group"> <textarea name = "editor[]" class = "ckeditor" id = "continut" rows = "8" cols = "80"></textarea> </div> </div></div>';
$("#add_aut").click(function(e){
$('#auth-rows').append(html3);
});
$('#auth-rows').on('click', '#auth-del', function(E){
$(this).parent('div').remove();
});
});
</script>





Вы, вероятно, захотите присвоить текстовой области собственный идентификатор, если планируете иметь их несколько.
let currentId = 0;
Я переместил код «var html» внутрь функции создания, чтобы мы могли редактировать идентификатор каждый раз, когда нажимается кнопка «Добавить», потому что нам каждый раз нужен уникальный идентификатор. После того, как текстовая область существует, я вызываю .ckeditor() для этой текстовой области, которая должна включить инструменты ckeditor для этого поля. Затем я увеличиваю customId, чтобы убедиться, что следующая добавленная форма имеет другой идентификатор.
$("#add_aut").click(function(e){
var html3 = '<div class = "row" id = "parent-autor"> <p id = "auth-del"><i class = "fa fa-minus-square" aria-hidden = "true"></i></p> <div class = "row"> <div class = "col-md-4"> <div class = "form-group"> <input type = "text" class = "form-control" placeholder = "titlu_tab" name = "titlu_tab[]"> </div> </div> <div class = "col-md-4"> <div class = "form-group"> <input type = "text" class = "form-control" placeholder = "Pozitie" name = "pozitie_tab[]"> </div> </div> </div> <div class = "col-md-12"> <div class = "form-group"> <textarea name = "editor[]" class = "ckeditor" id = "continut' + currentId + '" rows = "8" cols = "80"></textarea> </div> </div></div>';
$('#auth-rows').append(html3);
$('#continut' + currentId).ckeditor();
currentId += 1;
});
Возможно, вам не нужен customId в идентификаторе текстовой области в зависимости от того, чего вы пытаетесь достичь, но это должно направить вас в правильном направлении.
Кроме того, вам нужно добавить ckeditor.js, а также скрипт адаптера jquery, чтобы это работало.
См. эту скрипку https://jsfiddle.net/bkqxnu8f/3/