Hallo,
ich habe ein Script für die Filterfunktion von Isotope angepasst so das ich für die Filterfunktion multiple Links verwenden kann.
Nun würde ich hier aber gerne die HTML5 Data-Funktion verwenden
Genau geht es um
Hier würde ich gerne das Attribut data-option-value anstatt der id verwenden. Leider funktioniert sowas
nicht, da ich für .data() ja ein jQuery Objekt benötige. Wenn ich nun
verwende bekomm ich zwar keine Fehlermeldung mehr, aber das ausgegebene Array ist falsch.
Es wäre super wenn mir jemand helfen könnte?
Viele Grüße
ich habe ein Script für die Filterfunktion von Isotope angepasst so das ich für die Filterfunktion multiple Links verwenden kann.
Nun würde ich hier aber gerne die HTML5 Data-Funktion verwenden
HTML:
<ul id="filters" class="btn-group option-set clearfix" data-option-key="filter">
<li><a href="#filter" data-option-value="*" id="*" class="btn">show all</a></li>
<li><a href="#filter" data-option-value=".metal" id=".metal" class="btn">metal</a></li>
<li><a href="#filter" data-option-value=".transition" id=".transition" class="btn">transition</a></li>
<li><a href="#filter" data-option-value=".post-transition" id=".post-transition" class="btn">post-transition</a></li>
<li><a href="#filter" data-option-value=".nonmetal" id=".nonmetal" class="btn">nonmetal</a></li>
<li><a href="#filter" data-option-value=".inner-transition" id=".inner-transition" class="btn">inner-transition</a></li>
<li><a href="#filter" data-option-value=".alkali, .alkaline-earth" id=".alkali, .alkaline-earth" class="btn">alkali and alkaline-earth</a></li>
<li><a href="#filter" data-option-value=":not(.transition)" id=":not(.transition)" class="btn">not transition</a></li>
<li><a href="#filter" data-option-value=".metal:not(.transition)" id=".metal:not(.transition)" class="btn">metal but not transition</a></li>
</ul>
Code:
…
$filterLinks.click(function(){
var $this = $(this),
$optionSet = $this.parents('.option-set');
$this.toggleClass('selected');
var filters = [];
// get checked checkboxes values
$filterLinks.filter('.selected').each(function(){
filters.push( this.id );
});
filters = filters.join(', ');
$container.isotope({ filter: filters });
console.log(filters);
});
Javascript:
$filterLinks.filter('.selected').each(function(){
filters.push( this.id );
});
Javascript:
filters.push( this.data('optionValue') );
Javascript:
filters.push( $this.data('optionValue') );
Es wäre super wenn mir jemand helfen könnte?
Viele Grüße