我正在创建一个新的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');}
}
}
]
}
],
};
});