【问题标题】:Swap data value based on query string根据查询字符串交换数据值
【发布时间】:2020-05-26 15:34:32
【问题描述】:

我们继承了一些旧代码,这些代码已经到位并且可以正常工作。这是 £ GBP 和 $ USD 之间的简单定价切换 - 价格更新 onChange 如下所示。

笔链接

https://codepen.io/go6/pen/rNOgaee

$(function() {
  $("#curr").on("change",function() {
    var curr   = this.value;
    var prefix = curr=="500"; // or ["usd","yen",...].indexOf(curr); for more
    var sign   = curr=="500"?"":"";
    $(".value").each(function(){
      $(this).text(
        (prefix?sign:"")   +
                $(this).data(curr) +
    (prefix?sign:"")
      );
    })
  }).change();
});


问题

默认情况下,价格设置为美元,根据页面加载时的 data-usd 值。我们想提供一个页面 URL 查询字符串,例如 /pricing?curr=GBP,它可以将定价切换为 GBP。


目前尝试过但没有用

我用这个答案尝试了一些组合:

Show / Hide elements based on query string value

但到目前为止,还没有任何工作。请问有人可以协助实现货币查询字符串吗?


【问题讨论】:

    标签: javascript jquery query-string


    【解决方案1】:

    只需将其添加到您的代码中:

     if(document.URL.indexOf("curr=GBP") !== -1)
     {
        $(".value").each(function(){
           $(this).text($(this).data("gbp"));
        })
        $("#curr").val("gbp");
     }
    

    【讨论】:

    • 快到了。谢谢你。价格更新,但选择下拉 val 没有。
    • @wayne 这很奇怪,因为它应该是 !== -1 检查字符串是否存在。对于选择下拉问题,我刚刚更新了我的答案。
    • @Wayne 很高兴我能帮助你。如果这回答了您的问题,请选中答案旁边的复选标记以将您的问题解决为已回答/已解决。
    猜你喜欢
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多