Javascript 在For循环中使用选定选项值

Javascript 在For循环中使用选定选项值,javascript,css,Javascript,Css,下午好 我试图在for循环中使用选项框中的选定值 其原理是,例如,如果用户选择3,Javascript将用数组中的一个结果填充3个框 谁能给我指出正确的方向吗?我也附上了代码笔链接 function changeText(){ var e = document.getElementById('selectbox'); var strUser = e.options[e.selectedIndex].value; for (var i=0; i<=strUser; i

下午好

我试图在for循环中使用选项框中的选定值

其原理是,例如,如果用户选择3,Javascript将用数组中的一个结果填充3个框

谁能给我指出正确的方向吗?我也附上了代码笔链接

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;
    }

}
函数changeText(){
var e=document.getElementById('selectbox');
var strUser=e.options[e.selectedIndex].value;

对于(var i=0;i而言,ID元素对于整个dom来说应该是唯一的。对于
boldStuff
,您多次使用它。如果您希望能够像这样获取它们,您应该使用一个类

以下是一个版本,它可以满足您的要求:

请记住,设置每个盒子的值,即使是隐藏的盒子。你必须在每个盒子中随机得到一个新的水果,否则它们都会有相同的水果

我将所有
id=“boldStuff”
更改为
class=“boldStuff”

抢了所有的东西 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);  
}  
您可以使用函数来获取随机水果,如下所示:

function getRandomItem(arr) {
  return arr[Math.floor(Math.random() * arr.length)];
}

然后使用
getRandomItem(水果数组);
获取一个随机水果。

您不能多次使用同一id。您可能应该使用一个类。您希望每个盒子都有相同的一个水果,还是希望每个盒子都有N个不同的水果?我尝试将其更改为getElementsByClassName,但这根本不起作用。是的,我确实希望每个盒子都有不同的水果。您必须e将boldStuff元素从
id=“boldStuff”
更改为
class=“boldStuff”
您必须循环GetElementsByCassName的结果,因为它返回一个多元素数组感谢您的解释,非常感谢-对于JS初学者来说,我做得还不错!没有问题,也没有,一点也没有:)我想大多数初学者在这些问题上都会被绊倒。
function getRandomItem(arr) {
  return arr[Math.floor(Math.random() * arr.length)];
}