javascript - 在文档就绪时根据 URL 参数选择选项并检查复选框的功能

标签 javascript

我需要一个函数来循环所有 URL 参数并根据id 和值自动选择选项,以及根据名称和值自动选中复选框。我已经在使用此处找到的 getUrlParameter 函数:https://stackoverflow.com/a/21903119 ,所以我需要的是循环在 document.ready 上的 URL 中找到的所有参数,并相应地设置选择选项和输入复选框。

url: htt....//domain.com/site/page?param1=val1¶m2=val2

如果 param1、param2 与任何选择选项 ID 或复选框名称匹配: 1) 如果是选择选项检查相应的值...或 2) 如果是复选框并且如果与 url 参数中显示的值相同,则检查它

编辑:既然有人编辑了我的标题,我必须提到:它应该是 javascript,jQuery 不是这种情况的选择。

最佳答案

我尝试达到你想要的效果,希望对你有所帮助。

您可以使用以下代码来做到这一点:

var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (i in sURLVariables) { 
  let sParameter =sURLVariables[i].split('='); 
  let name=sParameter[0]
  let value=decodeURIComponent(sParameter[1])
  //Here is a loop
  //Do something for each name-value pair
  let collection = document.getElementsByName(name)
  for(j in collection){
    //searching for matching names (for checkboxes)
    if(collection[j].value=value)collection[j].checked=true
  }
  let node = document.getElementById(name)
  //checking element by ID (for select lists)
  if(node){
    node.value=value
  }
}

示例:

查询字符串:

?a=b&c=d&e=f

HTML:

<select id="a"><!-- Will be set to b-->
  <option>a</option>
  <option>b</option>
  <option>c</option>
</select>
<input type="checkbox" name="c" value="d"/><!--Will be checked-->
<input type="checkbox" name="c" value="f"/><!--Will NOT be checked-->
<input type="checkbox" name="e" value="d"/><!--Will NOT be checked-->

关于javascript - 在文档就绪时根据 URL 参数选择选项并检查复选框的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53412961/

相关文章:

javascript - 正则表达式,jquery问题

javascript - 无法使用 Fabric JS 取消分组

javascript - 在函数中包含负数以查找数组中的第二大整数

javascript - 创建饼图和其他动画动态信息图表的最佳方式是什么?

javascript - Jquery .html 后的 DIV 动画

javascript - 如何通过 gulp 任务获取文件大小(以字节为单位)

JavaScript 编程 : de facto open source?

javascript - Dojo 的响应式设计

javascript - 导出函数不是函数?

javascript - 如何克隆或重新分发 DOM 事件?