Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno JavaScript - práce s poli, tabulkama, přidávání prvků.

Mám následující požadavky na elementární část aplikace v JavaScriptu:

Budu generovat určitou matematickou funkcí v obecném tvaru y = f(x) hodnoty.
Tato funkce mi bude na základě uživatele generovat různý počet různých dvojic hodnot, které dopředu neznám.
Dvojic hodnot, protože potřebuji někam ukládat příslušné uživatelem vybrané dvojice kdy příslušnému Y náleží příslušné X.

Pro zjednodušení uvažujme, pole hodnot o neznámé velikosti, které chci setřídit.
Setřídit jej potřebuji vzestupně podle y ! A to tak, aby nezanikla informace o původní vazbě původního Y a X.
Aby toho nebylo málo potřebuji ještě tyto hodnoty vyobrazit setříděné v tabulce.

U tabulky opět stejný problém: potřebuji ji generovat na aktuální stránce bez znalosti kolik prvků mít bude.

Určitý pokrok jsem dosáhl po přečtení těchto kódů:

priklad.htm Kde sice dochází ke třídění tabulky ovšem mám následující problém:
1) Jak tam implementovat přidávání dalších náhodně vygenerovaných hodnot (tedy jak tam zároveň přidávat řádky a sloupce a následně je plnit hodnotama).
2) Jak následně všechny hodnoty (y) a (x) přenést každé do jedné proměnné z té tabulky.
3) Jak mazat přidané hodnoty z tabulky ?
Pro přidání dalších tabulek jsem našel tento kód, ale vůbec se mi nelíbí ! Funguje jen v IE !

Proboha !!! Proč to omezujete ? Zbytek pokračuje jako odpověď !

Předmět Autor Datum
[js]function add() { p = document.getElementById("myTable").firstChild; newRow = document.createElem…
Flash_Gordon 28.02.2006 21:23
Flash_Gordon
a jak se určuje např u toho vytváření TD kde bude? pochybuju ze by to dovytvorilo sloupec vsem radku… poslední
Rat 09.06.2010 17:25
Rat
Zoradíš dvojice [x, y], vygeneruješ tabuľku a zobrazíš: 1) Pre pridávanie riadkov a stĺpcov a ich pl…
los 28.02.2006 22:59
los
dík
Flash_Gordon 01.03.2006 11:30
Flash_Gordon

[js]function add()
{
p = document.getElementById("myTable").firstChild;
newRow = document.createElement("TR");
newCol = document.createElement("TD");
newInput = document.createElement("INPUT");
newInput.setAttribute("type", "text");
newCol.appendChild(newInput);
newRow.appendChild(newCol);
p.appendChild(newRow);
}
[/js]
Další dotaz mám jak zrušit přidanou tabulku. :x:

Zoradíš dvojice [x, y], vygeneruješ tabuľku a zobrazíš:
1) Pre pridávanie riadkov a stĺpcov a ich plnenie hodnotami potrebuješ document.createElement, document.appendChild a document.createTextNode.
2) Ako preniesť hodnoty do premennej z tabuľky? Nerozumiem otázke. Ak chceš zmeniť napr. text v bunke tabuľky, použiješ metódu replaceChild alebo zmeníš priamo vlastnosť data.
3) Na mazanie môžeš použiť removeChild.

Treba tabuľku meniť postupne - nestačí ju po zmene hodnôt jednoducho pregenerovať?

Napr. (predpokladám, že v dokumente je stará tabuľka s id="table"):
[js]function refreshTable ()
{
// dvojice [x, y]
var hodnoty = [[7, 9], [12, 11],[3,12],[33,10],[55,13],[14,2]];

// zoradenie dvojic
hodnoty.sort (function (a, b) {return (a [1] - b [1]);})

// vytvorenie tabulky
var table, tbody, tr, td;

table = document.createElement ("table");
table.id = "table";
table.border = 1;
table.appendChild (tbody = document.createElement ("tbody"));

for (var j = 0; j < hodnoty.length; ++j)
{
tbody.appendChild (tr = document.createElement ("tr"));

for (var i = 0; i < hodnoty [j].length; ++i)
{
tr.appendChild (td = document.createElement ("td"));

td.appendChild (document.createTextNode (hodnoty [j] [i]));
}
}

// nahradenie starej tabulky novou
var el = document.getElementById ("table");
el.parentNode.replaceChild (table, el);
}
[/js]

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