Autor | Zpráva | ||
---|---|---|---|
Taps Profil |
#1 · Zasláno: 26. 12. 2012, 13:56:10
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 |
#2 · Zasláno: 26. 12. 2012, 16:43:01
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 |
#3 · Zasláno: 26. 12. 2012, 19:29:37
Chamurappi:
Díky za radu, je možné i nějak pořešit problém s vložením selectu ? |
||
Chamurappi Profil |
#4 · Zasláno: 27. 12. 2012, 17:04:11
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 |
#5 · Zasláno: 27. 12. 2012, 19:39:25
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 |
#6 · Zasláno: 29. 12. 2012, 22:34:28
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>'); |
||
Časová prodleva: 3 dny
|
|||
_es Profil |
#7 · Zasláno: 2. 1. 2013, 09:54:58
Taps:
V JS nemôžu byť v textovom reťazci zalomenia riadkov. |
||
Časová prodleva: 11 let
|
0