Ich erstelle einen Basisfilter, um einige Elemente aus einer Liste zu entfernen. Es gibt nur 12 Elemente, so IMO nicht genug, um mit Lazy Loading oder Rendering zu stören. Einfach jQuery verwenden, um die Elemente auszublenden.Ausblenden von Elementen basierend auf Datenattributen, Minimal- und Maximalwerten
Die Artikel werden mit Nummern aus einem Dropdown-Feld select
, einem für minValue
und einem für maxValue
ausgefiltert. Der Wert für jedes Div ist in data-bedrooms
auf dem Div gespeichert.
HTML Beispiel
<div class="property-item" data-bedrooms="7">7 bedrooms</div>
ich meine Logik auf .change
eines meiner Aufklappmenü bin auslöst. Ich verwende dann filter()
, um Artikel zurückzugeben, die den Bedingungen der minValue
und maxValue
entsprechen (oder nicht entsprechen) und sie ein-/ausblenden.
Hier ist ein Full-Code-Stift, wo man alles in Aktion sehen können: http://codepen.io/anon/pen/ALdOLW
Was ich finde, dass die erste Auswahl funktioniert (zB wählen min 4
und Sie werden alles unter 4
entfernen), sondern versuchen, Wählen Sie einen maximalen Wert und die Dinge beginnen sich schlecht zu benehmen.
Wenn Sie den zweiten Wert auswählen, werden alle vorherigen Ergebnisse zurückgegeben. Ich muss beide Selektionen zusammenbinden.
Wohin gehe ich falsch?
Ich brauche die fadeIn
und fadeOut
zu überprüfen, sowohl maxValue
und minValue
return $(this).attr('data-bedrooms') < minValue || > maxValue;
aber ich bin mir bewusst, der oben ist falsche Syntax
Danke für diese ausgezeichnete Antwort, einschließlich der Erklärung. – user1486133