Javascript 如何向url添加选项值

Javascript 如何向url添加选项值,javascript,jquery,url,parameters,Javascript,Jquery,Url,Parameters,我正在做一个税务计算器 我想接收被重定向到url值的所选值,这样我就可以向某人发送指向我所选值的链接,这样就不必再次设置它们,只有在启动链接时才可以使用它们 JavaScript没有处理查询字符串参数的内置函数 使用服务器中使用的任何后端语言都很容易做到这一点 如果您必须使用Javascript执行此操作,请检查以下问题: 您可以将查询字符串解析为一个漂亮的对象,然后查找所需的键值对 function parseQuery() { var query = {}; var ind

我正在做一个税务计算器

我想接收被重定向到url值的所选值,这样我就可以向某人发送指向我所选值的链接,这样就不必再次设置它们,只有在启动链接时才可以使用它们


JavaScript没有处理查询字符串参数的内置函数

使用服务器中使用的任何后端语言都很容易做到这一点

如果您必须使用Javascript执行此操作,请检查以下问题:


您可以将查询字符串解析为一个漂亮的对象,然后查找所需的键值对

function parseQuery() {
    var query = {};

    var indexOfQ = window.location.href.indexOf("?");

    if (indexOfQ < 0)
        return null;

    var a = window.location.href.substr(indexOfQ + 1).split('&');
    for (var i = 0; i < a.length; i++) {
        var b = a[i].split('=');
        query[decodeURIComponent(b[0])] = decodeURIComponent(b[1] || '');
    }
    return query;
}

function loadQueryString() {

    var query = parseQuery();

    if (!query) return;

    if (typeof query['val'] !== 'undefined') {
        var newSelection = $("<option>", { value: query['val'], text: (Math.floor(parseFloat(query['val']) * 100)) + '%'});
        $('select').prepend(newSelection);
    }
}

loadQueryString();

将这些值添加为url参数?value1=1,并使用javascript使用给定的值自动填充表单。Antony你能给我举个例子吗?显然,我们可以使用内置功能访问javascript中的查询字符串。您的意思是这种类型的查询字符串处理通常在后端而不是前端完成吗?说“JS什么都没有”,这有点误导。@GantheWander我的意思是没有处理查询字符串参数的内置函数。您可以使用内置功能构建自己的函数,如我提到的问题或您自己的答案中所述。对不起,如果我不够清楚的话。
function parseQuery() {
    var query = {};

    var indexOfQ = window.location.href.indexOf("?");

    if (indexOfQ < 0)
        return null;

    var a = window.location.href.substr(indexOfQ + 1).split('&');
    for (var i = 0; i < a.length; i++) {
        var b = a[i].split('=');
        query[decodeURIComponent(b[0])] = decodeURIComponent(b[1] || '');
    }
    return query;
}

function loadQueryString() {

    var query = parseQuery();

    if (!query) return;

    if (typeof query['val'] !== 'undefined') {
        var newSelection = $("<option>", { value: query['val'], text: (Math.floor(parseFloat(query['val']) * 100)) + '%'});
        $('select').prepend(newSelection);
    }
}

loadQueryString();