Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过分页维护用户选择_Javascript_Jquery - Fatal编程技术网

Javascript 通过分页维护用户选择

Javascript 通过分页维护用户选择,javascript,jquery,Javascript,Jquery,我有一个下拉选择框,在URL中附加一个字符串,然后根据URL字符串更改后的回帖对目录进行排序。例如,URL可能如下所示: 如果我选择了第二个值,这是一个按“Title a-Z”排序的值,它将附加?orderby=2,这将使URL类似于: 在一个页面上,你可以这样做,但一旦你从目录中选择了一个新页面,它就会忘记选择,因此URL可能会像…page/3/…那样更改页面。。。例如: 请注意,缺少?orderby=2?问题是,如何通过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执行此操作?