OpenCart过滤器:清除旧选择

时间:2017-09-08 15:01:13

标签: jquery filter opencart opencart2.x

我已经尝试了一段时间,但我不知道该怎么做。我使用的是OpenCart 2.3.0.2版。不知何故,过滤器无法正常工作。

我第一次选择过滤器就可以了。但是,如果我删除2个过滤器并添加新过滤器,旧过滤器将保留在URL中。

这会将过滤器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(',');
});

这个清除过滤器ID:

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

我需要清除第一个按钮,然后添加新的过滤器ID。

3 个答案:

答案 0 :(得分:0)

首先,清算过滤器方法错误:

$('#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=';
});

过滤器选择保留的唯一原因可能是您的父form元素没有autocomplete="off"。添加属性,应该没问题。

答案 1 :(得分:0)

在链接上使用点击事件: -

在每个点击功能中: -

添加window.location.href =?page = 1&amp; productName = this etc

答案 2 :(得分:0)

感谢您的回答,但它无效。

问题仍然存在。观看网址,不删除旧查询:

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

Id 35和36是前两个fitler。然后我删除了thoose并添加了31和32,但遗留在网址中。