2017-09-08 1 views
1

Ich habe versucht, dies für eine Weile zu tun, aber ich weiß nicht mehr, was ich tun soll. Ich benutze OpenCart Version 2.3.0.2. Irgendwie funktioniert der Filter nicht richtig.OpenCart-Filter: Alte Auswahl löschen

Das erste Mal wähle ich die Filter aus, es ist ok. Wenn ich jedoch zwei Filter entferne und einen neuen hinzufüge, bleiben die alten Filter in der URL erhalten.

Dies fügt die Filter-ID URL:

$('#button-filter').on('click', function() { 
    filter = [];  
    $('input[name^=\'filter\']:checked').each(function(element) { 
     filter.push(this.value); 
    }); 
    location = '<?php echo $action; ?>&filter=' + filter.join(','); 
}); 

Dies man die Filter-ID löscht:

$('#button-filterclear').on('click', function() { 
    filter = []; 
    $('input[name^=\'filter\']:checked').each(function(element) { 
    filter.push(this.value); 
    }); 
    location = '<?php echo $action; ?>&filter='; 
}); 

ich die erste Taste benötigen, zu löschen und dann den neuen Filter-ID hinzuzufügen.

Antwort

0

Als erstes ist die Clearing-Filter-Methode falsch:

$('#button-filterclear').on('click', function() { 
    // NOT USED: filter = []; 
    // NOT USED: $('input[name^=\'filter\']:checked').each(function(element) { 
    // NOT USED:  filter.push(this.value); 
    // NOT USED: }); 
    location = '<?php echo $action; ?>&filter='; 
}); 

Wahrscheinlich der einzige Grund, warum die Auswahl Filter bleibt, ist, dass Ihre Eltern form Elemente keine autocomplete="off" haben. Fügen Sie das Attribut hinzu und sollte in Ordnung sein.

0

Nutzung auf Click-Ereignis auf Links: -

Innerhalb jeder Klick-Funktion: -

hinzufügen window.location.href = page = 1 & product = this etc

0

Danke für die Antwort aber es funktioniert nicht.

Das Problem ist immer noch da. Sehen Sie die URL, das Entfernen seiner nicht die alte Abfrage:

/index.php?route=product/category & path = 59 & filter = 35,36,31,32

Id 35 und 36 war der erste zwei Fitler. Dann entfernte ich das und füge 31 und 32 hinzu, aber die bleiben in der URL.