我经常搜索这个问题的答案,但我找不到它们。也许是因为我没有搜索正确的关键字(因为我不知道正确的名称),或者这个主题的资源可能很少。
我想在codeigniter中为数据库结果构建一个'排序系统'。就像magento分层导航或本网站上的排序一样:http://www.wintersporters.nl/skigebieden。在那里,您可以按价格,国家,斜坡数量等过滤滑雪胜地,结果将通过AJAX自动更新。
另一个例子 - > http://www.beslist.nl/products/cddvdrom/cddvdrom_5035278/您可以按日期,发布商,流派等进行排序。
我希望系统能够传递多个变量,例如wintersporters.nl,您可以选择多个国家而不是一个国家,这样您就可以通过选择多个属性来越来越多地缩小搜索范围直到你找到最适合你的滑雪胜地。因此,每次选择一个选项时,它都会保留在URL中。
我如何实现这样的目标?通过$ _GET []数组,使用uri或者完全不同的东西?任何人都可以指向我的教程,代码片段,解释或任何相关的东西,因为我找不到正确的方法来做到这一点。
我真的很感激!
答案 0 :(得分:0)
我还在思考组件或控件,它会为我的Web门户提供相同的功能,但后来我自己开发了HTML和Ajax。
在Ajax中,您可以使用
var checkboxValueArray = [];
var val = [];
$('input[name="subcatcheckbox"]:checked').each(function(i){
val[i] = $(this).val();
checkboxValueArray.push($('#subcat'+val[i]).text());
});
checkboxValueString = checkboxValueArray.toString();
checkboxValueString = checkboxValueString.replace(/\ /g, "-");
checkboxValueString = checkboxValueString.replace(/\_/g, "-");
checkboxValueString = checkboxValueString.replace(/\,/g, ":");
var checkboxValueNumberString = val.toString();
var checkboxValueNumberString = checkboxValueNumberString.replace(/\,/g, ":");
var pathName ='';
if(checkboxValueNumberString != ''){
pathName = "events_categories="+checkboxValueString+"&catid="+checkboxValueNumberString;
}
if(pathName != ''){
window.location.hash = "#!" + pathName;
}
if(pathName == ''){
window.location.hash = '';
}
getEventsParsedJSON(val);
通过这种方式,我在onClick事件上创建一个数组,然后通过window.location.hash(ajax方法)将字符串传递给URL。我在一天内开发了这个。这很容易开发。