这似乎我已经陷入了兔子洞,我想有一个更简单的整体策略,但我在这里。
我想允许用户在他们已经过滤了这些结果之后对给定的一组结果进行排序。我想在添加新的过滤器(排序)时保留原始过滤器。我想避免使用原始过滤器创建隐藏的输入,然后通过排序链接上的单击事件处理程序提交表单。
我尝试做的是读取window.location并使用我的新sort参数连接GET参数。它起作用了,除了它与每一次点击保持连接。我只希望每次点击添加一个排序变量。我尝试了一个正则表达式的解决方案,它不起作用。它不断更改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)
答案 0 :(得分:3)
window.location
不是字符串,而是“URL对象”。你可以把它强制成这样的字符串:
var currentPath = window.location +'';