下午好。
我试图在for循环的选项框中使用选定的值。
从理论上讲,例如,如果用户选择3,则Javascript将用数组中的水果填充3个框。
谁能指出我正确的方向?我也附上了Codepen链接。
function changeText(){
var e = document.getElementById('selectbox');
var strUser = e.options[e.selectedIndex].value;
for (var i=0; i<=strUser; i++) {
document.getElementById('boldStuff').innerHTML = randomFruit + strUser;
}
}
ID元素对于整个dom应该是唯一的。您多次将其用于boldStuff
。如果您希望能够像这样抓住它们,则应该使用一个类。
这是应该执行您想要的版本:http : //codepen.io/anon/pen/KzmGLP?editors=0010
请记住,将值设置为每个框,即使是隐藏的框也是如此。您将必须每盒获得一个新的随机水果,否则它们将具有相同的水果。
我全部更改id="boldStuff"
为class="boldStuff"
,
抓取了所有的boldStuffs var boldStuffs = document.getElementsByClassName('boldStuff');
并遍历每个大胆的东西
for (var i = 0; i < boldStuffs.length; i += 1) {
//And set the value of each boldStuff to a new random fruit.
boldStuffs[i].innerHTML = getRandomItem(fruitsArray);
}
以下行也只运行一次,因此无论有多少盒它们都将具有相同的果实(因为randomFruit从未更改)
var randomFruit = fruitsArray[Math.floor(Math.random() * fruitsArray.length)];
您可以使用函数来获取随机水果,如下所示:
function getRandomItem(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
然后用于getRandomItem(fruitsArray);
获取随机水果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句