如何设置每页的项目列表数量并单击设置所选选项

时间:2018-01-14 05:46:01

标签: javascript jquery html

如何设置每页的商品清单数量,删除/添加网址参数以及点击设置所选选项?

我正在处理搜索页面的下拉列表,该页面允许用户选择他们希望每页查看的项目数。当用户单击某个选项时,参数&itemSize=*option value*需要将自己置于URL中。

这部分我很好。问题是如果URL已经具有例如&itemSize=60并且用户选择转到90个项目,我需要替换当前参数。替换它的值或将它们全部一起删除,然后用新的&itemSize=参数替换它。我现在得到的是参数加倍 - &itemSize=60&itemSize=90

此外,我无法切换selected选项,因为我不确定如何存储所选选项的值。

注意 - 每次选择该选项时,页面都会重新加载。它没有通过AJAX完成,目前不是一个选项。无法使用插件。搜索结果可高达3000个结果。我有一些代码,我认为它可以用于处理duplicaate参数情况,但我不知道如何通过新选择的选项的逻辑。



function js_sort(forms, type) {
  var currentURL = window.location.href;

  if (type == 1) {

    var url = window.location.toString();
    if (url.indexOf("&rows=") > 0) {
      var clean_url = url.substring(0, url.indexOf("&rows="));
      window.history.replaceState({}, document.title, clean_url);
    }

    location.href = clean_url + forms.value;

  } //else if () {
    //dont mind this, this is part of a diff drop down
  //}
}

<div class="dropdown">
  <select name="pagesize" onchange="js_sort(this,1)">
    <option value="30" selected>30 Items Per Page</option>
    <option value="60" selected>60 Items Per Page</option>
    <option value="90" selected>90 Items Per Page</option>
    <option value="120" selected>120 Items Per Page</option>
  </select>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

让下一位读者找到解决方案

注意:更新为更通用的表单

window.location.href= window.location.href.replace(/&*itemSize=\d*/,'')+"&itemSize="‌​+forms.value;