Autor | Zpráva | ||
---|---|---|---|
Tomáš Zámocký Profil * |
#1 · Zasláno: 26. 6. 2014, 18:39:28
Zdravím Vás, chcel by som sa poradiť s problémom, na ktorý som narazil.
Vytváram filtre pre nás eshop, filter poďla výrobcu, farby, použitia.. etc.. Produkty sa filtrujú podľa URL. napriklad: http://www.domena.sk/?vyrobca=1,2,3,4&farba=8,4,5&pouzitie=12,34 Čísla v url su IDčka parametrov v DB. Tieto filtre by sa volili cez checkboxy. Spravil som si na to JS funkciu: function changeParamUrl(paramtype, paramvalue) { var location = new String(window.location); if (paramvalue != -1) { if (location.match(paramtype)) { var replaceexp = new RegExp ('(' + paramtype + '=)[0-9]*', 'g'); location = location.replace(replaceexp, '$1' + paramvalue); } else { if (location.match(/\?/)) { location += '&' } else { location += '?' } } window.location = location; } } Táto funkcia zmení daný parameter za hodnotu ID. Ale nedarí sa mi spraviť tú funkciu tak, že ak sa už hodnota daka nachádza, tak sa pridá k tej, ktorá už je zvolená. Napr. ak je v URL vyrobca=1 tak aby sa pridalo vyrobca=1,3. A v prípade, že je už daná hodnota v URL, aby ju odstránila. Túto funkciu volám cez checkbox: onchange="changeParamUrl('vyrobca',1);" alebo onchange="changeParamUrl('farba',12);" Vedel by mi ju prosím niekto pomôcť upraviť? Vrelá vďaka |
||
Časová prodleva: 4 dny
|
|||
candiess Profil |
#2 · Zasláno: 1. 7. 2014, 00:19:51
Tomáš Zámocký:
No určitě bych použil metodu pole, tj example.com/?farba[5]=5&farba[13]=13&vyrobca[3]=3&vyrobca[6]=6 Pak bych si získal jednotlivá pole a pokud by se parametr v poli již objevil, tak odstranit, složit url a přesměrovat. V opačném případě přidat do pole a přesměrovat. Snad jsem dobře nakopl :) |
||
Časová prodleva: 10 let
|
0