produkt filtrering med jquery og data-attributter

Tags:    filter sortering produkter jquery

Hej Alle,

Jeg er blevet sat til at lave en filtreringsfunktion til en webshop. Det korte af det lange er at jeg vil forsøge mig med at lave det hele clientside, for at få bedre performance.

Har indsat en række checkbokse, der f.eks. har et id="acer"

Når den bliver markeret skal der kun vises produkter hvis wrapper div har en data-brand="acer".

Den del fungerer fint nok med mit stykke jquery.

Men når jeg klistrer flere filtreringsmuligheder på, så virker de ikke og de relevante produkter kommer ikke frem på siden.

HTML Filter check bokses:
Fold kodeboks ind/udHTML kode 


Jeg har denne JQuery function der lytter på click event på checkbokse, og herefter viser eller skjuler de produkter der har en matchende data-attribut.

det kan være f.eks.: data-brand="acer" data-screesize="15.6" data-harddisk="500" osv osv.

JQuery, der virker når jeg kun gør det på brands:
Fold kodeboks ind/udJScript kode 


Jeg vil gerne lave funktionen dynamisk, så jeg løbende kan indlæse flere data-attributter hvis der bliver behov for det.

Hvordan er det lige at jeg griber det forkert an?

Ser frem til svar fra et par JQuery ninjaer!

Jan



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Har fået det til at virke nu, sådan at der også kan sorteres efter skærm str.

Problemet er nu nede til at når der er valgt f.eks. 14 tommer bærbar, så ser man dem fint nok - vælger man så lenovo som brand også, så ser man alle lenovo, også dem der ikke er 14 tommer.


Hvordan får jeg begrænset visning af produkt divs til dem der har KOMBINATIONEN af de valgte data-attributter, og ikke bare én af dem?

JQUERY funktion her:
Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 12.12.2013 17:21 af Bruger #16555
Ik for at forstyrre, men kender du isotype? http://isotope.metafizzy.co/

vh



Der er en JSFiddle, hvis nogen har mod på at redigere lidt i funktionen og evt. se resultat deraf :-)

http://jsfiddle.net/Klemme/czE6x/36/



Hej Jokke,

Tak for dit svar! Yes jeg kender godt det plugin, og hvorfor skulle man opfinde den dybe tallerken selv? Kan jeg spørge mig selv om..

Men jeg vil meget gerne lære at gøre det selv, og det er egentlig bare derfor. Så jeg kan blive bedre til JS/JQ..Nok mange der ikke deler den tilgang, når der nu er plugins :-)

Måske må jeg bøje mig i støvet og bruge det, såfremt jeg ikke hitter på en løsning.

Nogen der har set ovenstående JS, og kan byde ind med forslag til hvordan jeg viser produkter der har en kombination af data-atr values, ift. check boks id, så lytter jeg stadig gerne :-) Lige nu, vises der ikke produkter der har en KOMBINATION af de values, men generelt produkter der har ÈN af de values i data-atr.

Håber det giver mening, ellers uddyber jeg gerne.

Her er JS koden igen:
Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 18.12.2013 13:31 af Bruger #16555
t