Javascript 通过分页维护用户选择
我有一个下拉选择框,在URL中附加一个字符串,然后根据URL字符串更改后的回帖对目录进行排序。例如,URL可能如下所示: 如果我选择了第二个值,这是一个按“Title a-Z”排序的值,它将附加?orderby=2,这将使URL类似于: 在一个页面上,你可以这样做,但一旦你从目录中选择了一个新页面,它就会忘记选择,因此URL可能会像…page/3/…那样更改页面。。。例如: 请注意,缺少?orderby=2?问题是,如何通过javascript或Jquery使其成为一个持久的选择 下面是正在执行上面所示操作的当前脚本,但是它不维护分页刷新上的选择Javascript 通过分页维护用户选择,javascript,jquery,Javascript,Jquery,我有一个下拉选择框,在URL中附加一个字符串,然后根据URL字符串更改后的回帖对目录进行排序。例如,URL可能如下所示: 如果我选择了第二个值,这是一个按“Title a-Z”排序的值,它将附加?orderby=2,这将使URL类似于: 在一个页面上,你可以这样做,但一旦你从目录中选择了一个新页面,它就会忘记选择,因此URL可能会像…page/3/…那样更改页面。。。例如: 请注意,缺少?orderby=2?问题是,如何通过javascript或Jquery使其成为一个持久的选择 下面是正在执行
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
(function($) {
$.QueryString = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
var p=a[i].split('=');
if (p.length != 2) continue;
b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'))
})(jQuery);
var qstr=$.QueryString["orderby"];
//alert(qstr);
//$("#Selection").prop("selectedIndex", qstr);
</script>
<select id="Selection" class="sorter" onchange="location=this.options[[this.selectedIndex]].value" style="float:right;margin-right:8px;">
<option id=1 value="">Sort by</option>
<option id=2 value="?orderby=1">Code</option>
<option id=3 value="?orderby=2">Title A-Z</option>
<option id=4 value="?orderby=3">Title Z-A</option>
<option id=5 value="?orderby=4">Brand</option>
<option id=6 value="?orderby=5">Lowest price</option>
<option id=7 value="?orderby=6">Highest price</option>
<option id=8 value="?orderby=7">Lowest Quantity</option>
<option id=9 value="?orderby=8">Highest Quantity</option>
</select>
<script>$("#Selection").prop("selectedIndex", qstr); </script>
这方面的帮助太棒了,我甚至不知道从哪里开始…您可以跨请求维护排序索引,并在页面加载时检查排序索引并进行相应排序 您的第二个URL应该是:
example.com/Products/catalog/tabid/102/page/3/pagemid/554/catalog.aspx?orderby=2我已经编辑了你的标题。请不要在问题标题中包含关于所用语言的信息,除非没有它就没有意义。标签就是为了这个目的。还请看,如果一致意见是否定的,则不应该。如果您希望在整个会话期间保持值,则建议在客户端使用会话cookie,以便明智地存储此信息页面。仅此而已,它似乎没有检查此问题,我想知道如何让javascript执行此操作?