0
I-Struktur haben wie dieseWooCommerce Ajax Filter mit Kontrollkästchen
Marke
- Apple-
- Microsoft
Werkstoff
012.351.- Holz
- Metall
- Plastik
Grundsätzlich Marke & Material - sind Woocommerce Attribute und der Rest sind Variablen.
Ich arbeite an Ajax-Filter jetzt und ich brauche wie diese
http://example.com/shop?filter_brand=122,123&filter_material=134,45 aussehen url.
Hier ist, was ich habe, so weit diese code
HTML
<ul class="dd" data-termik="men">
<li>
<label for="">Men</label>
<input class="ajax-checkbox" data-term="men" data-id="31" type="checkbox">
</li>
<li>
<label for="">Boys</label>
<input class="ajax-checkbox" data-term="men" data-id="54" type="checkbox">
</li>
<li>
<label for="">Robots</label>
<input class="ajax-checkbox" data-term="men" data-id="76" type="checkbox">
</li>
</ul>
<hr>
<ul class="dd" data-termik="women">
<li>
<label for="">Women</label>
<input class="ajax-checkbox" data-term="women" data-id="12" type="checkbox">
</li>
<li>
<label for="">Girls</label>
<input class="ajax-checkbox" data-term="women" data-id="38" type="checkbox">
</li>
<li>
<label for="">Barbies</label>
<input class="ajax-checkbox" data-term="women" data-id="19" type="checkbox">
</li>
</ul>
JS
$(document).on('change', '.ajax-checkbox', function(e) {
var str = $(".ajax-checkbox:checked").map(function() {
var term = $(this).data('term');
var term_ids = [];
$('.ajax-checkbox:checked').each(function(index, value) {
var term_id = $(this).data('id');
term_ids.push(term_id);
});
term_ids_unique = $.unique(term_ids);
return term + '=' + term_ids_unique;
}).get();
var uniqueArray = str.filter(function(elem, pos) {
return str.indexOf(elem) == pos;
});
// FINAL URL
var final_url = uniqueArray;
console.log(final_url);
});
aber es funktioniert nicht richtig funktionieren.
Bitte sagen Sie uns genau, was nicht funktioniert richtig – Natecat
Wenn Sie auf Kontrollkästchen klicken und Konsole überprüfen, werden Sie feststellen, ist, dass die Daten falsch. Ich möchte eine URL wie diese haben? "Filters_brand = 21,34 & filters_color = 33,45. 'Jetzt habe ich'? Filters_brand = 21,34,33,45 & filters_color = 21,34,33,45 ' –
entfernt bedeutungslosen Fettdruck –