2012-10-25 134 views
0

仅供参考我吮吸javascript,无法绕过查询字符串。使用查询字符串过滤流沙使用查询字符串

我的问题是关于流沙 http://razorjack.net/quicksand/index.html

如何使用JavaScript来允许通过传入URL排序基于给定的过滤器修改http://razorjack.net/quicksand/scripts/main.js

演示的定的过滤器:

过滤按类型: 一切, 应用, 公用事业

排序: 名称, 大小

所以传入的URL可能看起来这取决于您使用的参数,包括默认视图:

razorjack.net/quicksand/index.html?Type=Everything &排序=大小

razorjack.net/quicksand/index.html?Type=Utilities &排序=名称

回答

0

那流沙插件不会对对象进行排序或过滤,它只会将一个对象列表替换为另一个对象,它的全部要点就是很酷的动画。

因此,您需要在其他地方进行排序和/或过滤,如果结果是从数据库来的,最好在服务器端,然后将它们放入列表中,然后调用Quick Sand插件来替换当前列表中,其中一个刚才创建

function loadPageVar (sVar) { 
    return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(sVar).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1")); 
} 

// Would alert the value of QueryString-variable called name 
alert(loadPageVar("Type")); 

也就是如何从This Question

得到查询字符串在JavaScript值一个例子,如果你没有在你的列表中的许多项目,那么你可以提前将所有列表以HTML格式输出,并将类设置为隐藏,然后根据查询字符串进行设置知道哪一个显示