我正在构建一个网上商店,并希望使用PHP和Jquery制作一些产品过滤器。网上商店:使用PHP和JQuery产品过滤和分页
这样做的最佳方法是什么?例如,我想在价格,特色,品牌,颜色等方面过滤我的产品。我也想使用分页。
过滤本身(使用PHP并在页面中重新加载)不会有任何问题,但是如何在从产品页面返回到类别页面时保留过滤器(历史记录按钮)。
我的方式做到了一次:请在URL中的哈希,所以:http://www.domain.com/categoryname/#FILTERcolor=blue&size=1等 我:jQuery是如下:
if(location.hash != ''){
poststr = location.hash;
pattern = /^#FILTER/
if(pattern.test(poststr)){
ajax('assets/php/ajax/productfilter.php',poststr.replace('#FILTER',''),callbackfunction);
}
}
当我回到了分类页面,哈希仍在URL中,使用AJAX实现。
是否有更好的方法来制作产品过滤器?
感谢您的回答。 我不重新加载整个页面,但使用innerHTML函数重新加载一个div中的AJAX调用的结果。 问题是,我每次回顾浏览器中产品页面的历史按钮到类别页面时,脚本会查看URL中是否存在散列。这样每次我回到浏览器中的历史按钮 时,数据将通过AJAX调用重新加载。我想知道是否有更好的方式,以便过滤器,产品,分页等 将被保存,并且每次使用历史记录按钮时都不会重新加载。 – Bart
如果要在多个页面上保留(javascript-set)过滤器,可以使用localStorage。 例子: localStorage.setItem( “过滤器”,过滤器) localStorage.getItem( “过滤器”) 注意localStorage的不仅节省了字符串,但您可以使用JSON.stringify()和JSON.parse()保存数组或对象。 – felixfbecker