Sto sviluppando un plug-in segnaposto su CKEDITOR ed è fondamentalmente completo. Il problema che ho è che sto cercando di ottenere il valore e descrizione dal selezionare all'interno della finestra di dialogo e sto solo ottenendo il valore. La matrice che contiene la descrizione e il valore assomiglia a questofinestra di dialogo del plugin ckeditor selezionare la descrizione da quella selezionata
-> items: [['description1', 'value1'], ['description2', 'value2']]
<-
Nel il ritorno -> Contenuti -> elementi con ID
dropdown
ho setup
e commit
funzione. In queste funzioni ho bisogno di ottenere la descrizione proprio come ottenere il nome dall'opzione select.
davvero bisogno di aiuto con questo, grazie in anticipo
esempio ->
<select>
<option value="value1">description1</option>
<option value="value2">description2</option>
</select>
esempio < -
(function() {
function placeholderDialog(editor, isEdit) {
var lang = editor.lang.phlink,
generalLabel = editor.lang.common.generalTab;
return {
title: lang.title,
minWidth: 300,
minHeight: 80,
contents: [
{
id: 'info',
label: generalLabel,
title: generalLabel,
elements: [
{
id: 'dropdown'
, type: 'select'
, label: lang.chooseVal
, 'default': 'Detta är default'
, items: [['description1', 'value1'], ['description2', 'value2']]
, setup: function (data) {
// need the description
this.setValue(data.title);
}
, commit: function (data) {
// need the description
data.title = this.getValue();
}
},
{
id: 'text',
type: 'text',
style: 'width: 100%;',
label: lang.text,
'default': '',
required: true,
validate: CKEDITOR.dialog.validate.notEmpty(lang.textMissing),
setup: function (data) {
this.setValue(data.text);
},
commit: function (data) {
data.text = this.getValue();
}
}
]
}
],
onShow: function() {
var data = { tag: 'link', content: "detta är innehåll", title: "Länk till svar", text: "detta är text" };
if (isEdit) {
this._element = CKEDITOR.plugins.phlink.getSelectedPlaceHolder(editor);
data.title = this._element.getAttribute('title');
data.text = this._element.getText();
data.tag = this._element.getAttribute('data-jztag');
}
this.setupContent(data);
},
onOk: function() {
var data = { tag: 'link', content: null, title: null, text: null };
this.commitContent(data);
CKEDITOR.plugins.phlink.createPlaceholder(editor, this._element, data);
delete this._element;
}
};
}
CKEDITOR.dialog.add('createplaceholder', function (editor) {
return placeholderDialog(editor);
});
CKEDITOR.dialog.add('editplaceholder', function (editor) {
return placeholderDialog(editor, 1);
});
})();
Ha funzionato esattamente come volevo, grazie mille – Ziinloader