Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno delete <tr> cez javascript

Dobry den

Zaujimalo by ma,ako sa da vymazat riadok tabulky pomocou javascriptu a to pomocou idcka:

<table id='id_table'>
<tr id='1'>
<td>...</td>
<tr id='2'>
<td>...</td>

...
</table>

viem ze existuje funckia table.deleteRow(i); kde var table = document.getElementById(id_table); a 'i' je riadok.Ale ja chcem mazat riadky na zaklade idciek.Ako sa to robi?

Dakujem

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
dakujem vsetkym za pomoc,uz som to vyriesil.Este by ma zaujimalo,ako predam javascriptu nejake pole…
matasko24 30.10.2011 09:39
matasko24
To je skvělý, že jsi to vyřešil. Hlavně se za žádnou cenu nepoděl o řešení. Předání pole z PHP do j…
host 30.10.2011 09:55
host
cely ten javascript vyzera takto: var id=0; function addRow(tab) { //vytvory novy riadok var table… nový
matasko24 30.10.2011 10:06
matasko24
V tomto prípade vôbec nepotrebuješ používať identifikátory. Hodnotu element1.name môžeš určiť podľa… nový
los 30.10.2011 10:50
los
Dakujem :-) poslední
matasko24 01.11.2011 13:28
matasko24

cely ten javascript vyzera takto:

var id=0;
function addRow(tab) {                                      //vytvory novy riadok

            var table = document.getElementById(tab);
 
            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);
            var x=row.id='r'+id;                  //id riadku
            id=id+1;            
 
            var cell1 = row.insertCell(0);
            var element1 = document.createElement('input');
            element1.type = 'text';
            element1.name = id;
            element1.size = '4';
            element1.maxLength = 3;
            cell1.appendChild(element1);
 
            var cell2 = row.insertCell(1);
            cell2.innerHTML = rowCount;
            
            var cell3 = row.insertCell(2);
            var element2 = document.createElement('input');
            element2.type = 'text';
            element2.size = '4';
            cell3.appendChild(element2);
            
            var cell4 = row.insertCell(3);
            var element3 = document.createElement('input');
            element3.type = 'text';
            element3.size = '4';
            cell4.appendChild(element3);
            
            var cell5 = row.insertCell(4);
            var element4 = document.createElement('input');
            element4.type = 'text';
            element4.size = '5';
            cell5.appendChild(element4);
 
            var cell6 = row.insertCell(5);            
            cell6.innerHTML = 'aaa';
            
            var cell7 = row.insertCell(6);            
            cell7.innerHTML = 'aaa';
            
            var cell8 = row.insertCell(7);
            var element5 = document.createElement('input');
            element5.type = 'text';
            element5.size = '4';
            cell8.appendChild(element5);
            
            var cell9 = row.insertCell(8);            
            cell9.innerHTML = 'aaa';
            
            var cell10 = row.insertCell(9);            
            cell10.innerHTML = 'aaa';
            
            var cell11 = row.insertCell(10);
            var element6 = document.createElement('input');
            element6.type = 'text';
            element6.size = '7';
            cell11.appendChild(element6);
            
            var cell12 = row.insertCell(11);            
            cell12.style.border='none';
            var element7 = document.createElement('input');
            element7.type='button';
            element7.id= id;
            //element7.class = 'add';            
            var on='deleteRow("'+x+'")';             
            cell12.appendChild(element7);
            document.getElementById(element7.id).onclick= new Function(on);                                  
        }
        function deleteRow(id_row) {                          //zmaze riadok
            var element = document.getElementById(id_row);
            element.parentNode.removeChild(element); 
                                  
        }

V tomto prípade vôbec nepotrebuješ používať identifikátory. Hodnotu element1.name môžeš určiť podľa hodnoty rowCount. Hodnotu element7.id nepotrebuješ nastavovať a obsluhu onclick môžeš priradiť priamo: element7.onclick = function() { row.parentNode.removeChild(row); }.

Elementy input sú predvolene typu text, takže aj to nastavenie je zbytočné.

Do size môžeš priraďovať rovno číslo, nie reťazec.

Ak chceš nastavovať text bunky, tak by som vytváral textové uzly: cell.appendChild(document.createTextNode(text)). Ak chceš naozaj nastavovať innerHTML, tak nič.

Zpět do poradny Odpovědět na původní otázku Nahoru