如果URL参数出现多次,则运行代码

问题描述 投票:1回答:2

我觉得这很容易,但是我无法弄清楚。

请参见下面的代码:

if(getUrlParameter('style') && getUrlParameter('style') != "all"){
    var type = getUrlParameter('style');
  }
  else 
  if (getUrlParameter('type') == "res") {
    var type = "Homes";
  } else if (getUrlParameter('type') == "con") {
    var type = "Condos";
  } else if (getUrlParameter('type') == "lnd") {
    var type = "Land";
  } else if (getUrlParameter('type') == "mul") {
    var type = "Income Properties";
  } else if (getUrlParameter('type') == "twn") {
    var type = "Townhomes";
  } else if (getUrlParameter('type') == "com") {
    var type = "Commercial Properties";
  } else if (getUrlParameter('type') == "com") && (getUrlParameter('type') == "com") {
    var type = "Commercial Properties";
  } 

我想让它在URL中出现两次或多次'type',例如“ type = res&type = con”,它将返回一个等于“ Real Estate”的var。

提前感谢!

javascript html jquery url
2个回答
0
投票

我不知道getUrlParameter到底能做什么,但是您可以尝试执行以下操作:

var params = new URLSearchParams('type=res&type=com');
if (params.getAll('type').includes('com') && params.getAll('type').includes('res')) {
    //foo
}

0
投票

URLSearchParams是访问查询字符串的更方便的方法。

要严格回答您的问题:有了URLSearchParams对象后,您可以检查URLSearchParams返回的数组的length属性。

将其应用于您的代码,您正在寻找这个

getAll('type')
© www.soinside.com 2019 - 2024. All rights reserved.