0

我有一个关于更改包含一些表单信息但可能导致重复的 URL 的问题。很难用一句话来解释。所以我有一个表格用于搜索并尝试使用下拉菜单进行分页。URL 将是这样的:

http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=提交

...并且下面的代码很好地添加了页面调用(例如)

http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit&page=2

但是,如果他们再次更改页面,它将复制页面调用,因此它将是

http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit&page=2&page=2

我知道如何通过 PHP 修复它,但如果可能的话,我想将它保存在 jQuery 中。下面是我的 jQuery 调用。我需要做一个 indexOf 电话吗?这是唯一的方法吗?我认为还有另一种方法,所以我想我只是问一下。

$('#page').change(function(){
    var pathName = window.location.search;
    var page_change = $('#page option:selected').val();
    if(pathName == ""){
        window.location.replace("?page="+page_change);
    } else {
        window.location.replace(pathName+"&page="+page_change);
    }

});

谢谢!!!

4

1 回答 1

0

这是你的意思吗?

$('#page').change(function(){
    var pathName = window.location.search;
    var page_change = $('#page option:selected').val();
    if(pathName == ""){
        window.location.replace("?page="+page_change);
    } else {
        path_arr = pathName.substr(1).split('&');
        new_path = new Array();
        for(p in path_arr) {
            if (path_arr[p].indexOf('page') == -1) {
                new_path.push(path_arr[p]);
            }
        }
        window.location.replace('?' + new_path.join() + '&page=' + page_change);
    }
});
于 2012-12-17T21:22:26.687 回答