Вы получаете неправильные значения. Не уверен, что делает ваш редактор с функцией изменения, но вам нужно прочитать файл в редактор. Я использую «get» и «setData». Я изменил функцию вставки, чтобы по-прежнему использовать переключатель, но теперь ajaxMethod - это ссылка, отправляемая в функцию get.
<form>
<div class="" id="select" style="padding-left: 5px;">
<select name="select" id="htmlArea2" onchange="InsertHTML();">
<option value="">Select a Snipplet:</option>
<option value="1">Simple Text</option>
<option value="2">Simple Text External</option>
<option value="3">All Data</option>
<option value="4">Next Option</option>
</select>
</div>
</form>
<textarea name="editor1"></textarea>
<script>
CKEDITOR.replace( 'editor1' );
function InsertHTML() {
var editor = CKEDITOR.instances.editor1;
var value = document.getElementById( 'htmlArea2' ).value;
switch(value){
case "1":
ajaxMethod = "_bak/test2.txt";
break;
case "2":
ajaxMethod = "_bak/test1.txt";
break;
case "3":
ajaxMethod = "_bak/test2.txt";
break;
case "4":
ajaxMethod = "_bak/test1.txt";
break;
}
if ( editor.mode == 'wysiwyg' ){
$.get(ajaxMethod).done(function (data) {
CKEDITOR.instances['editor1'].setData(data);
//editor.insertHtml( data )
})
}
else{
alert( 'You must be in WYSIWYG mode!' );
}
}
</script>
Я считаю, что "editor.insertHtml (data)" будет добавляться, а не перезаписывать содержимое редактора, если вы этого хотите. И конечно же, поменяйте ссылки на рабочие ссылки. Не удалось проверить на Code Pen из-за ограничений браузера, но работает на моем сервере.