Блог

Javascript/CKeditor: plugin, динамически подгрузить select

Есть задача, динамически заполнять select в диалоговом окне при открытии окна. В попытках найти вразумительные ответы, все варианты которые предлагались для меня не подходили и посчитал их не правильными. В результате чего, ответ нашел сам. Ниже представлен пример, где все просто и понятно.

CKEDITOR.dialog.add("yourPlugin.dlg", function (editor) {
    var e = editor;
    var lang = e.lang.yourPlugin;

    return {
        title: lang.title,
        minWidth: 480,
        minHeight: 320,
        contents: [{
            name: 'info',
            elements: [{
                id: 'selectElement',
                type: 'select',
                title:lang.field,
                label:lang.field,
                items:[[lang.notSelect, ''],],
                onShow: function(data) {
                    var element = this;
                    var request = $.ajax({url:'/other/page.json', dataType:'json'});
                    request.done(function(xhr){
                        if(xhr.details.settings.length) {
                            var items = [];
                            var settings = xhr.details.settings;

                            element.clear().add(lang.field.notSelectModule, '');
                            $.each(settings, function(i, item) {
                                element.add(item.title, item.embedded);
                            });
                        }
                    });
                },
            }]
        }]
    };
});