Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数根据文档就绪时的URL参数选择选项和复选框_Javascript - Fatal编程技术网

Javascript 函数根据文档就绪时的URL参数选择选项和复选框

Javascript 函数根据文档就绪时的URL参数选择选项和复选框,javascript,Javascript,我需要一个函数来循环所有URL参数,并根据id和值自动选择选项,以及根据名称和值自动选中复选框。我已经在使用这里找到的geturlparmeter函数:,所以我需要的是一种循环,循环document.ready上URL中找到的所有参数,并相应地设置选择选项和输入复选框 url:htt..//domain.com/site/page?param1=val1¶m2=val2 如果将param1、param2与任何选择选项id或复选框名称匹配: 1) 如果是选择选项,请检查相应的值。。。或 2

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

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

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


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

您可以这样做:

jQuery.each(parameters, function (index, item){
                    var element = elt.find("[name=" + item.name + "]");
                    if (element.is("select")) {
                        element.find("option[value=" + item.value + "]").prop("selected", true);
                    } else {
                        element.val(item.value);
                    }
                });

我试图达到你想要的,我希望这会有所帮助

您可以使用以下代码执行此操作:

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:


A.
B
C

您不需要任何代码,没有特殊情况。谢谢您的帮助,我还需要代码部分来选中复选框并选择选项收音机,因为我是JS中的noob。还有document.ready..@SorinGFS部分可以,但请为您的问题编写HTML代码。(或一个例子…)没有什么特别要提及的,我有很多选项选择器(带id)和很多输入复选框(带名称,而不是id),我只想在页面完全加载时运行脚本,检查每个url参数,循环通过元素,并检查它们是否有正确的值,与url参数中的相同。@SorinGFS如果元素具有正确的值,则必须执行什么操作?如果元素值不正确怎么办?如果元素值正确,则必须选择/检查。如果不是。。。没有什么
<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-->