Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Wie OnChange bei dynamisch erzeugter Tabelle?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wie OnChange bei dynamisch erzeugter Tabelle?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Peoples
      Peoples last edited by

      Hi,
      ich habe mal wieder eine Frage zur index_m.html.

      Mittlerweile habe ich es geschafft die vorhandenen Views in ein Array einzulesen aus dem ich eine dynamische Tabelle erstelle.
      Leider merkt onChange nicht wenn hier dann im Admin Werte geändert werden.

      Vielleicht kann mir einer von euch sagen wie ich das anstellen muss, damit die Buttons zum Speichern frei gegeben und die Änderungen gespeichert werden.

      Hier mal der Code mit dem ich die Tabelle erstelle:

      async function genViewList() {
                      let result = '';
                      let tableRow;
                      let $table = $('#views-table');
                      
                      let viewSettings = [];
                      
                      const visData = await getVisContent();
                      const visDataProjects = visData.viewList;
                      let arr = []
                      if(visData.projectList ==''){
                          //arr.push[''];
                      } else {
                          arr = visData.viewList;
                          arr.sort();
                          arr.forEach(function(val) {
                              
                              viewSettings['sWSec'+val] = settings['sWSec_'+val];
                              
                              
                              
                              tableRow +='<tr>';
                              tableRow +='<td>'+val+'</td>';
                              tableRow +='<td><input id=sWSec_'+val+' type="number" class="value" value="'+viewSettings['sWSec'+val]+'"></td>';
                              tableRow +='<td><label><input id="test1" type="checkbox" class="value" /><span></span></label></td>';
                              tableRow +='<td><label><input id="test2" type="checkbox" class="value" /><span></span></label></td>';
                              tableRow +='<td><label><input id="test3" type="checkbox" class="value" /><span></span></label></td>';
                              tableRow +='</tr>';
      
                             // $('#viewsList').append('<option value="' + val + '"' + (id === val ? ' selected' : '') + '>'+val+' </option>');
                          });
                          $('#views-table' + ' > table > tbody').append(tableRow);
                      }
                  } 
      
                  genViewList()
      

      Das Ganze sieht dann so aus:
      viewswitch.JPG

      Wenn ich in der index_m.html folgendes einfüge:

      <div class="input-field col s12 m6 l3">
            <input class="value" id="notificationEnabled" type="checkbox"/>
            <label for="notificationEnabled" class="translate">Enable / Disable Notifications</label>
      </div>
      

      wird das onChange sauber registriert nur warum hier schon und oben nicht ist mir nicht klar.

      Wär super wenn mir jemand helfen kann.

      Jey Cee 1 Reply Last reply Reply Quote 0
      • Jey Cee
        Jey Cee Developer @Peoples last edited by

        @Peoples das Element wurde bereits erzeugt bevor in load eine Subscription auf die klasse value erstellt wird.

        Du musst also nachdem erzeugen der Tabelle eine Subscription machen.

        Peoples 1 Reply Last reply Reply Quote 0
        • Peoples
          Peoples @Jey Cee last edited by Peoples

          @Jey-Cee
          Ahso, klingt logisch. Hast du auch nen Tipp wie ich das am dümmsten machen könnte?

          Einfach nochmal das onchange aufrufen?

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          707
          Online

          31.9k
          Users

          80.2k
          Topics

          1.3m
          Posts

          adapter onchange
          2
          3
          144
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo