Я думаю, что вы пытаетесь динамически заполнить раскрывающийся список
плагин. И по какой-либо причине, этот выпадающий список должен быть заполнен в то время как
диалог открыт.
Если так, вот что я сделал для аналогичной ситуации:
{
type: 'select',
id: 'exam_ID',
label: 'Select Exam',
items : [ ['--- Select an Exam---',0] ],
setup : function(element) {
var element_id = '#' + this.getInputElement().$.id;
$.ajax({
type: 'POST',
url: 'lib/ckeditor/plugins/customExam/utilities/listExams.aspx',
data: '{"cpID":' + window.parent.$("#cpID").val() + '}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
async: false,
success: function(data) {
$.each(data.DATA, function(index, item) {
$(element_id).get(0).options[$(element_id).get(0).options.length] = new Option(item[1], item[0]);
});
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
}
}
Ключ нашел идентификатор элемента, который устанавливает CKEditor, который не является id
в определении элемента. Вы можете использовать это id
для других функций, но если вы планируете выполнить какое-либо обновление элемента, вам нужно получить элемент CKEditor DOM.
Возможно, есть лучший способ сделать это, но это работает для меня.