hmm: innerHtml frisst Checkbox

erst text dann checkbox:


        var li = document.createElement("li");
        var input = document.createElement("input");
        input.setAttribute("type", "checkbox");
        if(vertragsarten[q] == vertragsart) {
            input.setAttribute("checked", "checked");
        }
        li.innerHTML = vertragsarten[q];
        li.appendChild(input);
        $('#vertragsarten_'+i).append(li);

wills drehen, aber dadurch hab ich nur text und keine checkbox:


        var li = document.createElement("li");
        var input = document.createElement("input");
        input.setAttribute("type", "checkbox");
        if(vertragsarten[q] == vertragsart) {
            input.setAttribute("checked", "checked");
        }
        li.appendChild(input);
        li.innerHTML = vertragsarten[q];//gedreht
        $('#vertragsarten_'+i).append(li);

wie mach ich das jetzt?

akzeptierte Antworten

  1. @@hmm

        li.appendChild(input);
        li.innerHTML = vertragsarten[q];//gedreht
    

    Mit innerHTML überschreibst du den kompletten Elementinhalt. Klar, dass das input-Element dann weg ist.

    wie mach ich das jetzt?

    Anhängen: nicht =, sondern +=.

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    1. danke

      ps: mindestens 10 zeichen....

  2. Tach!

    wie mach ich das jetzt?

    Am besten mit dem Mischmasch aufhören. Entweder alles jQuery oder alles herkömmlich. Mit jQuery kann man

    ...append(text);
    ...append(element);
    

    in beliebiger Reihenfolge aufrufen.

    dedlfix.

    1. @@dedlfix

      Entweder alles jQuery oder alles herkömmlich.

      Ja, aber: Bitte sag nicht „herkömmlich“. Das klingt so wie „veraltet“ und dass jQuery die Zukunft wäre.

      Ist es nicht, mit neuen APIs in nativem JavaScript nimmt die Bedeutung von jQuery immer weiter ab.

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory