Autor | Zpráva | ||
---|---|---|---|
shas Profil * |
#1 · Zasláno: 28. 7. 2011, 16:05:19
Ahoj vsem, mam pole kde si nadefinuji poradi v jakem se maji vypisovat jednotlive polozky, chtel bych se zepat, zda by nekdo netusil jak to spravne udelat aby se polozky vypsali v nadefinovanem poradi, viz:
var obchody = new Array(); //ZDE DEFINUJI PORADI, POTREBUJI ABY PRVNI VE VYPISU BYL NAPRIKLAD ALBERT var poradi=new Array(); poradi[0]="Albert"; poradi[1]="Coop"; poradi[2]="Globus"; $.each(mapdata, function(index, value){ //IF IS CHAIN IN ARRY obchody, exit LOOP , ELSE ADD CHAIN TO LIST if(jQuery.inArray(value.retezecnazev, obchody)=== -1) { //alert("Neni tam"); obchody.push(value.retezecnazev); countOfProducts++; //CHANGE DATE FORMAT var choppedDate = value.platido.split('-'); var newDate = choppedDate[2]+"."+choppedDate[1]+"."+choppedDate[0]; $("ul").append("<li data-icon=\"false\"><a data-ajax=\"false\" href=\"show_flyer.html?id=" + value.id + "&countOfPages=" + value.strany + "&nameOfChain=" + value.retezecnazev + " \"><img style=\"margin-top:10px;\" src=\" "+value.img+" \"/><h3 style=\"font-size:1.5em;\">" + value.retezecnazev + "</h3><div class=\"pageCount\" style=\"font-size:0.7em;\">" + value.strany + " Stran</div><div style=\"font-size:0.7em;\" class=\"pageCount\">Platnost do: " + newDate + " </div></a> </li>"); } }); Diky moc za kazdou radu |
||
_es Profil |
#2 · Zasláno: 28. 7. 2011, 16:19:00
shas:
Pole majú metódu sort, do ktorej môžeš ako parameter zadať porovnávaciu funkciu, podľa ktorej sa má pole zoradiť. Nepotrebuješ na to jQuery. Celý ten tvoj dotaz je nejaký nezrozumiteľný. Aké definovanie poradia? Však keď máš pole už zoradené, tak si ho vypíš tak ako je. Nejako nerozumiem, čo by mal ten komplikovaný kód vlastne robiť. |
||
shas Profil * |
#3 · Zasláno: 28. 7. 2011, 16:40:34
Ten kod dela to, ze napriklad retezcu Albert je nekolik, takze vyberu jen ten prvni a dale uz zadny se stejnym jmenem do vypisu nepridavam.
Tim dostanu vypis napr. 10 retezcu, Albert, Tesco, atd.. no a tyhle tetezce bych chtel vypsat v urcitem poradi ktere si nadefinuji. |
||
_es Profil |
#4 · Zasláno: 28. 7. 2011, 16:53:55
shas:
„v urcitem poradi ktere si nadefinuji.“ Ako „nadefinuješ“? Však to „nadefinovanie“ je vlastne ten výsledok. Však z toho poľa „nadefinovaného poradia“ len zisťuj, či sa tam ten prvok nachádza. Tie reťazce máš odkiaľ? Ak niekde v databáze, prečo nespravíš výpis unikátnych položiek už tam? |
||
shas Profil * |
#5 · Zasláno: 28. 7. 2011, 17:08:33
No poradi si chci nadefinovat svoje zde:
var poradi=new Array(); poradi[0]="Albert"; poradi[1]="Coop"; poradi[2]="Globus"; Ano taham z databaze, nemam moznost ale upravit vypis, resp pridat poradi uz tam. |
||
_es Profil |
#6 · Zasláno: 28. 7. 2011, 17:35:06
shas:
No a to si nevieš spraviť cyklus na zistenie, či sa nejaká položka z toho „poradie definujúceho“ poľa nachádza v inom poli? „Ano taham z databaze, nemam moznost ale upravit vypis, resp pridat poradi uz tam.“ To si nejako odporuje, snáď to ťaháš pomocou nejakého SQL dotazu, tak si sprav SQL dotaz na zoznam unikátnych položiek. |
||
shas Profil * |
#7 · Zasláno: 28. 7. 2011, 17:38:59
Umim, to vlastne delam abych dostal jedinecne vysledky od kazdeho retezce ale ty jsou pak vypsany jak prisli a ja proste jen chci zmenit poradi toho vypisu a nevim jak.
Z databaze se to taha ale vystupem je jSon, to jsme se spatne pochopili. |
||
_es Profil |
#8 · Zasláno: 28. 7. 2011, 18:02:21
shas:
Máš pole1 : ty ho nazývaš pole „definujúce poradie“.
Máš pole2 , v ktorom sa nachádzajú len také položky, aké sú aj v poli pole1 (predpokladám).
Definuješ si prázdne pole pole3 .
Zistíš, či sa prvý prvok poľa pole1 nachádza v poli pole2 , ak áno, pridáš ho do poľa pole3 .
To isté spravíš pre všetky ostatné prvky poľa pole1 .
A máš výsledné pole pole3 .
„Z databaze se to taha ale vystupem je jSon“ Čo s tým má spoločný výsledný tvar výpisu? Na začiatku je snáď nejaký SQL dotaz, prečo by si si nemohol spraviť SQL dotaz na zoznam všetkých jedinečných prvkov? |
||
Časová prodleva: 3 dny
|
|||
shas Profil * |
#9 · Zasláno: 31. 7. 2011, 17:33:16
To jo, jenze ja mam v kazdem vracenem resultu vice hodnot, takze pred vypisem bych je vsechny musel ulozit nekam bokem, prodat k nim poradi a az pak je nechat vypsat.
Uplne nejlepsi by bylo kdyby byla nejak funkce na sortovani listview, jelikoz poradi si uz zjistim porovnanim. |
||
_es Profil |
#10 · Zasláno: 1. 8. 2011, 11:50:57
shas:
„Uplne nejlepsi by bylo kdyby byla nejak funkce na sortovani“ Je, viď [#2], vytvor si vlastnú porovnávaciu funkciu, máš tam aj odkaz na dokumentáciu. |
||
Časová prodleva: 3 dny
|
|||
peta Profil |
#11 · Zasláno: 4. 8. 2011, 11:17:46 · Upravil/a: peta
"se polozky vypsali v nadefinovanem poradi"
<script> var i,poradi, polozky; poradi = [2,0,1]; polozky = ['to','kluk','Je'] for (i in poradi) { document.write(polozky[poradi[i]]+' '); } document.write('<br><br>'); var i,j,poradi, polozky, top; poradi = ["Albert", "Coop", "Globus"]; polozky = ['Terno','Coop','Hypernova','Globus','Mana','Albert']; top = []; for (i in poradi) {top[i] = [];} // vytrizeni for (i in polozky) { for (j in poradi) { if (polozky[i]==poradi[j]) {top[j][top[j].length] = polozky[i]; polozky[i] = '';} } } // vypis for (i in top) { for (j in top[i]) {document.write(top[i][j] + ' ');} } for (i in polozky) { if (polozky[i]!='') {document.write(polozky[i]+' ');}; } </script> To je tak tezke si napsat cyklus? Pokud to budes chtit nejak profesionalne, tak pres ten sort a vlastni sort funkci, viz _es. Osobne bych upravil take sql dotaz nez to zvlast dotrizovat pomoci js. Priklad: http://peter-mlich.wz.cz/web/js/pr2/js-tab.htm |
||
Časová prodleva: 14 let
|
0