Ckeditor и JavaScript: как получить выбранное значение в выпадающем меню - PullRequest
0 голосов
/ 05 ноября 2018

Я создаю новый плагин CKEDITOR и в настоящее время работаю над функциями диалога. Я хочу получить значение выбранного элемента в раскрывающемся меню (идентификатор selectedLang) и извлечь его в переменную «selectLang», которую можно использовать в функции фиксации текстового поля (идентификатор spanTitle).

Но мой кусок кода для этого не работает. Есть идеи, как это решить?

CKEDITOR.dialog.add( 'spanDialog', function( editor ) {
    return {
        title : 'Test for my new dialog',
        minWidth : 550,
        minHeight : 100,
        resizable: CKEDITOR.DIALOG_RESIZE_NONE,
        contents : [
            {id : 'spanEditor',
                label : 'Insert an ID',
                elements : [
                        {
                        type: 'select',
                        id: 'choseLang',
                        label: 'Language (mandatory)',
                        items: [
                            [ 'Non spécifié','notSet' ],
                            [ 'Français','fra'],
                            [ 'Latin','lat' ], 
                        ],
                        default:'notSet',
                        setup: function(element) {
                            var selectLang = this.getValue();
                        },
                        onChange : function(element) {
                            var selectLang = this.getValue();
                        },

                    },

                    {
                        type: 'text',
                        id: 'spanTitle',
                        label: 'Identifier',
                        setup: function( element, dialog ) {
                            var value = element.getAttribute( 'id' ) ? element.getAttribute( 'id' ) : '';
                            this.setValue( value );                     

                        },

                        commit: function( element) {
                            var dialog = this.getDialog(),
                            selectLang = dialog.getContentElement ('spanDialog', 'spanTitle');

                            var value = this.getValue();

                            if (value || value=='id') {

                                if(value.startsWith('fra_') == true || value.startsWith('lat_') == true ) {
                                    element.setAttribute('id', value);
                                }
                                else if(value.startsWith('fra_') == false || value.startsWith('lat_') == false ) {
                                     if (selectLang == 'fra') {element.setAttribute('id', 'fra_' + value);}
                                     if (selectLang == 'lat') {element.setAttribute('id', 'lat_' + value);}
                                    }

                                ;}


                            else { element.removeAttribute('id');}

                        }
                    }
                ]
            }
        ],

    };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...