smartVISU 2.9 und .append

Begonnen von ReviloEgros, 17 Juli 2020, 19:37:14

Vorheriges Thema - Nächstes Thema

ReviloEgros

Hallo Gemeinde,

ich bin gerade ein klein wenig am verzweifeln. smartVISU ist bisher noch absolutes Neuland für mich, habe bis vor ein paar Tagen noch TabletUI genutzt. Soweit läuft bisher auch alles zufriedenstellend, aber und nun geht es daran, eigene Widgets zu erstellen. Klappt bisher auch ganz gut für das, was ich brauche, nur bei einer Sache komme ich nicht weiter :(

Ich möchte ein <select> mit Daten befüllen, und wollte das ähnlich wie hier https://forum.fhem.de/index.php/topic,54768.msg463516.html#msg463516 beschrieben mit $(this).append(newOption).selectmenu('refresh'); machen. Nur schmeißt mir smartVISU in der Konsole immer ein "Uncaught TypeError: b is undefined" raus. Funktioniert .append() bei dem neuen $.sv.widget Format nicht mehr, oder was übersehe ich hier?

Hier der Auszug aus my.js:$.widget("sv.my_enigma_channel", $.sv.widget, {
   
  initSelector: '[data-widget="my.enigma_channel"]',
   
    _init: function() {
    },
     
    _update: function(response) {
      var channelList = "";
      $.each(response[1].split(","), function(index, value) {
        channelList += "<option value=\"" + value + "\">" + value.replace(/_/g, ' ') + "</option>";
      });
      $(this).append(channelList).selectmenu('refresh');
    },

    _events: {
      'change': function(event) {
        this._write(this.element.val());
      }
    }
});


Und hier das Widget:{% macro enigma_channel(id, channel, channelList) %}
  <select name="{{ uid(page, id) }}" id="{{ uid(page, id) }}"  data-widget="my.enigma_channel" data-item="{{ channel }}, {{ channelList }}" data-native-menu="false" data-placeholder="false" />
  </select>
{% endmacro %}