Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 检索多个选择框的值_Javascript_Select_Option - Fatal编程技术网

Javascript 检索多个选择框的值

Javascript 检索多个选择框的值,javascript,select,option,Javascript,Select,Option,您好,我遇到了一个小问题,我有大约4个选择框,每个选择框中有不同的值供用户选择。这些选择框在java脚本中动态创建,因此它们都共享相同的id 我想打印动态选择的每个值,因此当您从选择框1中选择时,打印其值,然后在选择框2的选项时,覆盖第一个值 我现在的代码只适用于第一个选择框,有人能帮我让它适用于所有选择框吗 for(var i=0; i<5; i++){ var a=document.createElement("select"); aa.setAttribute('

您好,我遇到了一个小问题,我有大约4个选择框,每个选择框中有不同的值供用户选择。这些选择框在java脚本中动态创建,因此它们都共享相同的id

我想打印动态选择的每个值,因此当您从选择框1中选择时,打印其值,然后在选择框2的选项时,覆盖第一个值

我现在的代码只适用于第一个选择框,有人能帮我让它适用于所有选择框吗

for(var i=0; i<5; i++){ 
    var a=document.createElement("select"); 
    aa.setAttribute('id', 'boxes');
    //..addoptions in another loop then in the same loop I have
    aa.onchange = function(){ tester();};
}


function tester(){
    var i = document.getElementById("boxes");
    var ii = i.selectedIndex;
    document.getElementsById("pTag").innerHTML=i.options[ii].value
}

for(var i=0;i按如下方式修改代码,它会解决您的问题。注意
aa.onchage=tester
而不是
aa.onchange=tester()
原因是您将
aa.onchange
赋值给函数
tester
,而不是它的返回值

for(var i=0; i<5; i++){ 
    var a=document.createElement("select"); 
    aa.setAttribute('id', 'boxes'+i);
    //..addoptions in another loop then in the same loop I have
    aa.onchange = tester;
}


function tester(event){
    document.getElementsById("pTag").innerHTML = event.target.value;
}

for(var i=0;您所述的iAs,它们具有相同的id,因此
document.getElementsById(“pTag”)
将始终返回第一个选择,因此只有第一个选择才会更新。请为选择使用不同的ID。如果您还可以包括如何创建选择框,则会更容易提供帮助。这很有意义,我正在循环中创建选择框,以便(var i=0;iIt很难帮助您,编辑您的问题并添加引用您输入的代码的其他代码。如果它是执行的
onclick
onchange
事件,则指出如何解决问题会容易得多。但现在使用不同的ID,
a=document.createElement(“选择”);a.ID=“box”+i”
应该可以完成这项工作。我已经编辑了它,我试图按照您所说的方式更改我的id,但我不确定如何改进tgester()函数以使其正常工作?太好了,这很有效,谢谢您在这方面浪费了太多时间。将其标记为问题的解决方案始终是一个好主意。