Autor Zpráva
Taps
Profil
Zdravím, mohl by mi někdo poradit jak vložit pomocí js řádek do tabulky a do řádku přidat následně select a input. Zkoušel jsem níže uvedený kod, ale bohužel mi nefunguje vložení selectu
function addRow(id){
    var row = document.createElement('tr'); 
        var td1 = document.createElement('td'); 
        var td2 = document.createElement('td');

        row.appendChild(td1); 
        row.appendChild(td2); 
        
        td1.innerHTML = ('<select name="test"><option value="1">1</option></select>');
        td2.innerHTML = ('<input type"text" name="hodnota[]" />');
        
        
        var table = document.getElementById(id); 
        table.appendChild(row); 
}
Chamurappi
Profil
Reaguji na Tapse:
Na přidání řádku je lepší použít metodu insertRow na tabulce, na přidání buňky zase metodu insertCell na řádku.

table.appendChild(row);
Řádek nemůže být přímo v tabulce, musí být v <tbody>. Do HTML kódu tabulky se <tbody> obvykle viditelně nepíše, ale je tam, akorát má počáteční i koncovou značku volitelnou (viz Jak funguje HTML).
Taps
Profil
Chamurappi:
Díky za radu, je možné i nějak pořešit problém s vložením selectu ?
Chamurappi
Profil
Reaguji na Tapse:
Až na tu dříve zmíněnou věc s appendChild, která může způsobit nefunkčnost v některých prohlížečích, nevidím ve zde uvedeném kódu žádný problém. Jak se projevuje, že vložení nefunguje? Chybová konzole nenaříká?
joe
Profil
Chamurappi:
Na přidání řádku je lepší použít metodu insertRow na tabulce
A jak to je, pokud v tabulce budou tagy theader, tbody a tfoot. A tbody třeba i vícekrát, pak se nový řádek přidá kam?
(Chtěl jsem uvést příklad na jsfiddle, bohužel mi spadlo Chrome a všechno se ztratilo :-()
Taps
Profil
joe:
(Chtěl jsem uvést příklad na jsfiddle, bohužel mi spadlo Chrome a všechno se ztratilo :-()
To je škoda
Chamurappi:
Firebug konzole nehlásí žádnou chybu
problematickou oblast uvádím níže
td1.innerHTML = ('<select name="test">
                          <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option></select>');
_es
Profil
Taps:
V JS nemôžu byť v textovom reťazci zalomenia riadkov.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: