3
这看起来像我已经倒下了兔子洞,我想有一个更简单的整体策略,但我在这里。javascript(试图复制windows.location没有成功)
我想允许用户在已经过滤这些结果之后对给定的一组结果进行排序。我想保留原来的过滤器,同时添加一个新的(排序)。我想避免必须使用原始过滤器创建隐藏输入,然后通过排序链接上的单击事件处理程序提交表单。
我试图做的是读取window.location并使用我的新排序参数concatanate GET参数。它的工作,除了它与每个点击点击保持concavanating。我只希望每次点击都添加一个排序变量。我尝试了一个正则表达式解决方案,它不工作。它不断更改windows.location变量并重定向页面。
我是js的新手,我不知道如何对字符串进行深度拷贝......或者等价的。我该如何解决这个问题?我也新JS正则表达式,所以原谅我的幼稚
$('div#sort ul a').each(function(){
var currentPath=window.location;
currentPath=currentPath.replace(/sort=\w+$/,'sort='+$(this).attr('data-sort'));
$(this).attr('href',currentPath)
或'window.location.toString()' – cdmckay 2011-03-24 19:41:33
完美。修复它,谢谢!一般来说,我上面描述的整体方法看起来是否合理高效?我是新来的 – Ben 2011-03-24 19:42:16
@Brendan:没关系。在成为问题之前不要担心效率 – Cameron 2011-03-24 20:01:06