Javascript-从HTML获取动态名称

Javascript-从HTML获取动态名称,javascript,html,Javascript,Html,我需要弄清楚如何让javascript动态地接受select名称。我该怎么做 我尝试了var I=getElementsByName(),然后尝试了if(I==“x)…else…但没有结果 我的Javascript: function displayResult() { var m=document.getElementsByName("x"); document.getElementById('divid').innerHTML = m[0].value; }

我需要弄清楚如何让javascript动态地接受select名称。我该怎么做

我尝试了var I=getElementsByName(),然后尝试了if(I==“x)…else…但没有结果

我的Javascript:

function displayResult()
{
   var m=document.getElementsByName("x");
   document.getElementById('divid').innerHTML = m[0].value;
}                                   
我的Html:

  <form>
       <select name = x>
         <option> a </option>
         <option> b </option>
         <option> c </option>
       </select>
       <select name = y>
         <option> 2 </option>
         <option> 3 </option>
         <option> 4 </option>
       </select>
     </form>

A.
B
C
2.
3.
4.

我想你真正想要的是:

var nodes = document.getElementsByTagName('select');
var names = new Array();
for(i=0,c=nodes.length;i<c;i++){
    names.push(nodes[i].name);
}
var nodes=document.getElementsByTagName('select');
变量名称=新数组();

对于(i=0,c=nodes.length;i我认为您实际寻找的是:

var nodes = document.getElementsByTagName('select');
var names = new Array();
for(i=0,c=nodes.length;i<c;i++){
    names.push(nodes[i].name);
}
var nodes=document.getElementsByTagName('select');
变量名称=新数组();

对于(i=0,c=nodes.length;i而言,最简单的解决方案是使用jQuery

使用纯Javascript的新浏览器API:

var elems = document.querySelectorAll("select[name=x]")

最简单的解决方案是使用jQuery

使用纯Javascript的新浏览器API:

var elems = document.querySelectorAll("select[name=x]")

所以你需要x是“动态的”。我不太明白你的意思,但我想你每次调用函数时都想指定另一个名称。这就是函数参数的用途。
将您的功能更改为:

function displayResult(name)
{
   var m=document.getElementsByName(name);
   document.getElementById('divid').innerHTML = m[0].value;
}
现在,您可以使用以下命令调用函数:

displayResult("x");

所以你需要x是“动态的”。我不太明白你的意思,但我想你每次调用函数时都想指定另一个名称。这就是函数参数的用途。
将您的功能更改为:

function displayResult(name)
{
   var m=document.getElementsByName(name);
   document.getElementById('divid').innerHTML = m[0].value;
}
现在,您可以使用以下命令调用函数:

displayResult("x");

@纯U代码需要document.getElementsByName(“x”);才能动态获取名称您的意思是希望“x”成为变量吗?强制:您尝试了什么?@AshwinMukhija尝试了var i=getElementsByName(),然后如果(i=”x)…则没有结果getElementsByName()中的“ByName”引用了元素名称(如
)不是name属性。如果有帮助的话。@pure_代码需要document.getElementsByName(“x”);动态获取名称您的意思是希望“x”成为变量吗?必须的:您尝试了什么?@AshwinMukhija尝试了var i=getElementsByName(),然后如果(i=“x”)。否则……没有结果“ByName”“在getElementsByName()中,引用元素名称(如
)不是name属性。如果有帮助的话。X需要是动态的。我们不知道答案是X、y、z还是什么。你可以用Javascript动态创建字符串。如果你不熟悉用Javascript处理字符串,我建议你学习Javascript基础知识,因为附加问题的范围在学习程序中ing language basics X需要是动态的。我们不知道答案是X、y、z还是什么。你可以用Javascript动态创建字符串。如果你不熟悉用Javascript处理字符串,我建议你学习Javascript基础知识,因为附加问题的范围是学习编程语言基础知识这正是我所需要的。我不知道为什么我没有这样想。这么简单。漫长的工作日…请注意,如果您有更多同名元素,此方法只设置第一个。如果您需要所有元素,您应该更改函数以包含所有这些元素的循环,如果您想决定在每个函数调用中添加第二个pa要用作数组索引的参数。@JeftleBowskie正是我所需要的。我不知道为什么我不这么想。很简单。工作时间很长……请注意,如果有更多同名元素,此方法只设置第一个。如果需要所有元素,则应更改函数以包含对所有这些元素的循环,如果需要的话要决定在每个函数调用中添加第二个参数作为数组索引。@JeftLebowski