Öğeleri bir açılır penceredeki dinamik olarak nasıl güncellerim?Bir CKEditor Combobox/Drop Down Menüsünü yeniden başlatmak mümkün mü?
CKEditor için bir açılır menüyü, textarea
benim içine enjekte edebileceğim öğeler listesiyle dolduran özel bir eklentim var.
Öğelerin listesi, her sayfa için dinamik olarak güncelleştirilen maptags
adlı bir Javascript dizisinden gelir. İlk init:
işlevi tarafından kendisine tıkladığınızda
var maptags = []
etiketleri Bu liste
açılan ekleniyor. Sorunum, istemcideki öğeler sayfada değişiklik yaptıkça bu dizideki öğeler değişirse, bu listeyi güncel diziye nasıl yükleyebilirim? Ben sadece aslında bu çözdükCKEDITOR.plugins.add('mapitems', {
requires: ['richcombo'], //, 'styles' ],
init: function (editor) {
var config = editor.config,
lang = editor.lang.format;
editor.ui.addRichCombo('mapitems',
{
label: "Map Items",
title: "Map Items",
voiceLabel: "Map Items",
className: 'cke_format',
multiSelect: false,
panel:
{
css: [config.contentsCss, CKEDITOR.getUrl(editor.skinPath + 'editor.css')],
voiceLabel: lang.panelVoiceLabel
},
init: function() {
this.startGroup("Map Items");
//this.add('value', 'drop_text', 'drop_label');
for (var this_tag in maptags) {
this.add(maptags[this_tag][0], maptags[this_tag][1], maptags[this_tag][2]);
}
},
onClick: function (value) {
editor.focus();
editor.fire('saveSnapshot');
editor.insertHtml(value);
editor.fire('saveSnapshot');
}
});
}
});
olur ama sunucudan getirilecek verilerle yukarıdaki çözüm kullanarak çalıştığınızda, boş gösterir. Yardım edebilir misin? –
öğelerinizi sunucudan alın örn. Ajax çağrı ve onları "yourListOfItems" dizisine koyun –
Bu biraz dağınık, ama beni doğru yolda aldım. Teşekkürler! Not; richCombo nesnesinin yapısı garip ve şanslıdır ve bu yetenek gerçekten de onu dışarıdan kesmek yerine richCombo'nun bir parçası olmalıdır. –