使用jQuery更改URL查询字符串的值

15 浏览
0 Comments

使用jQuery更改URL查询字符串的值

我有一个示例URL,如下所示:

http://domain.com/Documents/?page=1&name=Dave&date=2011-01-01

查询字符串包含当前页面编号和两个额外的筛选条件(名称和日期)。

使用以下URL解析器:https://github.com/allmarkedup/purl,我能够访问URL的某些部分,例如仅页面编号。

我正在尝试创建一种方式,让用户能够在文本框中键入一个数字,然后加载该页面编号,同时保留所有其他查询字符串。

$(document).ready(function () {
        $('.pageNum').live('keyup', function (e) {
            e.preventDefault();
            if (e.which == 13) {
                var currentUrl = window.location.href;
                var parsedUrl = $.url(currentUrl);
                var currentPageNum = parsedUrl.param('page');
                var newPageNum = $(this).val();
                var newUrl = //
                window.location.href = newUrl;
            }
        });
    });

因此,当用户在pageNum文本框上按回车键时,它将获取当前页面的URL,解析它,然后找出当前页面编号,然后我需要一种方法来将页面编号的值替换为文本框中的新值,以创建一个新的URL,最后使用这个新的URL刷新页面。

是否可以更改参数值,然后将其添加回去?

注意:额外的参数可能是任意的,因此我无法手动将它们添加到路径名中与新的页面编号一起!

0