首页 > 解决方案 > 根据查询字符串交换数据值

问题描述

我们继承了一些旧代码,这些代码已经到位并且可以正常工作。这是 £ 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。


到目前为止尝试但没有工作

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

根据查询字符串值显示/隐藏元素

但到目前为止,没有一个奏效。请问有人可以协助实现货币查询字符串吗?


标签: javascriptjqueryquery-string

解决方案


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

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

推荐阅读