Ckeditor和JavaScript:如何在下拉对话框菜单中检索选定的值

时间:2018-11-05 08:26:36

标签: javascript ckeditor dropdown

我正在创建一个新的CKEDITOR插件,目前正在使用对话框功能。 我想在下拉菜单中获取所选项目的值(ID selectedLang),然后在变量“ selectLang”中检索该值,该变量可用于文本字段的提交功能(ID 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');}

                        }
                    }
                ]
            }
        ],

    };
});

0 个答案:

没有答案