【问题标题】:How to add option value to url如何将选项值添加到 url
【发布时间】:2017-01-26 18:37:09
【问题描述】:

我正在研究计算器税。

我想接收重定向到 url 值的选定值,这样我就可以向某人发送一个指向我选择的值的链接,因此它不必再次设置它们只是为了拥有当你开始链接时。

http://kalkulator.atrocki.pl/calculator/index.html

 <div class="styled-select">
        <h1>Vat</h1>
        <select id="vat">
      <option value='0'>0%</option>
      <option value='0.08'>8%</option>
      <option value='0.23'>23%</option>
      <option value="other">Add another VAT value..</option>
    </select>
        <input type="text" class="vatInput" id="vatInputId" placeholder="Vat w %">
    </div>
    <div class="styled-select">
        <h1>tax 2</h1>
        <select id="tax">
              <option value="0">0%</option>
              <option value='0.18'>18%</option>
              <option value='0.19'>19%</option>
              <option value='0.32'>32%</option>
              <option value="other">Add another TAX value..</option>
          </select>

【问题讨论】:

  • 将值添加为 url 参数 (?value1=1) 并使用 javascript 自动使用给定值填充表单。
  • 安东尼你能给我举个例子吗?

标签: javascript jquery url parameters


【解决方案1】:

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

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

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

How to get the value from the GET parameters?

【讨论】:

  • 显然我们可以使用内置功能在 javascript 中访问查询字符串。你的意思是这种查询字符串处理通常是在后端而不是前端完成的?为此说“JS 一无所有”有点误导。
  • @GantTheWanderer 我的意思是没有内置的 function 来处理查询字符串参数。您可以使用内置功能构建自己的功能,例如我提到的问题或您自己的答案。对不起,如果我不够清楚。
【解决方案2】:

你可以将查询字符串解析成一个不错的对象,然后寻找你想要的键值对。

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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-23
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多