2 Stimmen

Wie füge ich ein Element zu einer Listbox hinzu?

Ich bin immer noch dabei, TinyMCE von Version 3 auf Version 4 zu aktualisieren.

Das Problem, das ich habe, betrifft die Verwendung der Symbolleisten-Benutzeroberfläche. Ich kann eine Listbox mit mehreren Einträgen erstellen, aber ich weiß nicht, wie ich Listenelemente hinzufügen kann, nachdem die Listbox erstellt wurde. Mit TinyMCE3 war es einfach, auch nach der Erstellung dieser Liste ein Listenpunkt zu einer Liste hinzuzufügen. Ich weiß nicht, wie ich dies mit TinyMCE 4 erreichen kann.

Was muss ich tun? Irgendwelche Vorschläge?

Hier ist der Code, den ich verwende, um die Listbox zu erstellen:

        editor.addButton('my_listbox', {
            type: 'listbox',
            text: 'my_listbox_desc',
            icon: false,
            onselect: function(e) {
                editor.insertContent(this.value());
            },
            values:[
                {text: 'Menüpunkt 1', value: 'Irgendwelcher Text 1'},
                {text: 'Menüpunkt 2', value: 'Irgendwelcher Text 2'},
                {text: 'Menüpunkt 3', value: 'Irgendwelcher Text 3'}
            ],
            onPostRender: function() {
                // Wähle standardmäßig den dritten Eintrag aus
                editor.irstyle_control = this;
                this.value('Irgendwelcher Text 3');
            }
        });

0voto

Bellash Punkte 6596

Ich hatte dasselbe Problem... Nachdem ich viele Themen in ihrem Forum besucht hatte, kam ich dazu, etwas Ähnliches wie dies zu schreiben

  tinymce.PluginManager.add('sampleWithEditable', function(ed, url) {

    var me=this, dynamicallyEditable;

   function getValues() {
  return ed.settings.myKeyValueList;
   }
ed.addButton('my_listbox', {
        type: 'listbox',
        text: 'my_listbox_desc',
        icon: false,
        onselect: function(e) {
            ed.insertContent(this.value());
        },
        values:[
            {text: 'Menüpunkt 1', value: 'Einige Texte 1'},
            {text: 'Menüpunkt 2', value: 'Einige Texte 2'},
            {text: 'Menüpunkt 3', value: 'Einige Texte 3'}
        ],
        onPostRender: function() {
            // Wähle standardmäßig den dritten Menüpunkt aus
            ed.irstyle_control = this;
            this.value('Einige Texte 3');

            dynamicallyEditable=this
        }});

   me.refresh = function() {
  if(dynamicallyEditable.dynamicallyAdded){
     dynamicallyEditable.dynamicallyAdded.remove();
     dynamicallyEditable.dynamicallyAdded = null;
      }

      dynamicallyEditable.settings.values =     dynamicallyEditable.settings.dynamicallyAdded = getValues();
   };

    }

Dann im ajax Erfolgsmethodenabschnitt

   tinyMCE.activeEditor.settings.myKeyValueList = [{text: 'Text hier', value: 'Wert dort'}]; 
   tinyMCE.activeEditor.plugins.sampleWithEditable.refresh();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X