2016-10-17 21 views
0

過濾器包含精確搜索按鈕,頁面加載根據search.But我想要的產品時,我選中複選框,該產品應display.This可以通過AJAX的方式來達到的..Opencart的阿賈克斯過濾器對於產品

原創腳本Opencart的2.1.0.2產品過濾

`<script type="text/javascript"><!-- 
$('#button-filter').on('click', function() { 
    filter = []; 

    $('input[name^=\'filter\']:checked').each(function(element) { 
     filter.push(this.value); 
    }); 

    location = '<?php echo $action; ?>&filter=' + filter.join(','); 
}); 
//--></script> 
` 

,我試圖用ajax

`$(document).on('change','.sort_rang',function(){ 
    filter = []; 

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

    $.ajax({ 
    type: "POST", 
    location: location, 
    success: function(data) 
    {     
     $('.products-block').html(data); 
    }    
    }); 
    console.log; 
    return false; 
});` 

我得到了想要的結果。但它加載整個頁面。如果可能的話,我如何使用任何加載器。

+0

撈出來定義location '位置線' – thecodejack

+0

通過刪除位置.Ajax部分不工作 –

+0

或說'var location =' – thecodejack

回答

0

location是全局變更瀏覽器網址。爲了避免使用全局location需要使用var

$(document).on('change','.sort_rang',function(){ 
    filter = []; 

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

    $.ajax({ 
    type: "POST", 
    location: location, 
    success: function(data) 
    {     
     $('.products-block').html(data); 
    }    
    }); 
    console.log; 
    return false; 
}); 
0

這只是在code.In成功的功能變化不大,我刪除了特定的標識和其做工精細

<script type="text/javascript"> 
$(document).on('change','.sort_rang',function(){ 
    filter = []; 

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

    $.ajax({ 
    type: "POST", 
    location: location, 
    success: function(data) 
    {     
     html(data); 
    }    
    }); 
    console.log; 
    return false; 
});