Prototype-on belüli foreach
Sziasztok!
Elkezdtem barátkozni a Prototype JavaScript FrameWork-el, és megvagyok döbbenve! Hihetetlen lehetőségeket rejt! Minden elemet a dom-ban sokkal egyszerűbb elérni és manipulálni!
Sajnos amilyen gyorsan beleszerettem, olyan gyorsan meg is süllyedtem :(! Dinamikus táblázatot akarok létrehozni AJAX-al kiolvasott adatokból. Azt a részét tökéletesen értem, hogy hogyan kell template-t csinálni, és egy egységnyi adatstruktúrával végrehajtatni, de hogyan lehet feldolgoztatni vele, előre nem meghatározott mennyiségű adat egységet?
Az id="tabla" táblához egy sor hozzáadása:ezzel azt csináltam, hogy az AJAX-al a beérkező adatokból csináltam egy tömböt, amely tömb minden eleme megegyezik a TablaSor struktúrájával, csak más és más adatokkal van feltöltve. Megszámoltam a tömb hosszát és arra építek egy ciklus, de ez így elég lassú.Hogyan lehetne ezt felturbózni? Csak egy kis útmutatást kérek, példa alkalmazást vagy doksit, kifejezetten template-en belüli ciklus építésre (for vagy foreach).
Előre is köszönöm: s_volenszki
■ Elkezdtem barátkozni a Prototype JavaScript FrameWork-el, és megvagyok döbbenve! Hihetetlen lehetőségeket rejt! Minden elemet a dom-ban sokkal egyszerűbb elérni és manipulálni!
Sajnos amilyen gyorsan beleszerettem, olyan gyorsan meg is süllyedtem :(! Dinamikus táblázatot akarok létrehozni AJAX-al kiolvasott adatokból. Azt a részét tökéletesen értem, hogy hogyan kell template-t csinálni, és egy egységnyi adatstruktúrával végrehajtatni, de hogyan lehet feldolgoztatni vele, előre nem meghatározott mennyiségű adat egységet?
Az id="tabla" táblához egy sor hozzáadása:
...
var myTemplate = new Template('<tr><td> #{title} </td><td> #{author} </td></tr>');
var TablaSor = {title: 'A cím', author: 'A szerző'};
new Insertion.Bottom("tabla", myTemplate.evaluate(TablaSor));
...
...
var TablaSorok = responseText.split(separator);
var myTemplate = new Template('<tr><td> #{title} </td><td> #{author} </td></tr>');
for(x=0;x<=TablaSorok.length-1;x++){
var TablaSor = TablaSorok[x];
new Insertion.Bottom("tabla", myTemplate.evaluate(TablaSor));
}
...
Előre is köszönöm: s_volenszki
optim
Esetleg az is segithet, h nem stringet ("tabla") adsz at hanem magat a nodeot amit mar egyszer megkerestel. Mert itt az Insertion.Bottom az "tabla"-ra annyiszor lefuttatja a $-t, ahany sorod van. (Mondjuk ez valószínű elhanyagolható lassulás, de azért adjuk meg a módját. :)
Ha így is lassu, akkor próbáld meg kihagyni ezt a Templatet. Ha csak ez a két meződ van, akkor sima stringekből felépítesz egy html-sztinget es ciklus után hozzacsapod a tablahoz.
Sok sikert!
TrimPath
Mostanáig TrimPath-ot használtam, de látva a Prototyp lehetőségeit át akarok térni arra. TrimPath-ban ez így nézett ki:
Megvolt ugye az adat struktúra:
s_volenszki
jaaa :)
Natív js