您好我遇到了一个小问题,我有大约4个选择框,每个框都有不同的值,供用户选择,这些是在 java脚本中的循环中动态创建的,所以他们都分享同样的身份。
我想打印动态选择的每个值,因此当您从选择框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
}
仅限Javascript
答案 0 :(得分:0)
修改您的代码,如下所示它应该解决您的问题。请注意,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;
}