如何设置每页的商品清单数量,删除/添加网址参数以及点击设置所选选项?
我正在处理搜索页面的下拉列表,该页面允许用户选择他们希望每页查看的项目数。当用户单击某个选项时,参数&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;
答案 0 :(得分:2)
让下一位读者找到解决方案
注意:更新为更通用的表单
window.location.href= window.location.href.replace(/&*itemSize=\d*/,'')+"&itemSize="+forms.value;