一个简单的初学者问题:在下拉列表中随机选择开始选项



下面我有一小段脚本,用于为我正在进行的业余爱好者/休闲项目创建下拉列表。问题是我想增加随机性,但正如它所写的,下拉列表总是从Alpha开始。理想情况下,我希望能够让它在一个随机的位置开始,以减少但不是消除用户在选择选项时的选择。(该项目的核心是半随机生成要在游戏中完成的任务。我尝试了一个随机选项,但这超出了我的能力。(

当我说"问题"时,我承认这是最小的问题,但我真的不知道自己在做什么。我已经在谷歌上做了很多搜索,但由于我基本上只是从另一个代码段进行了逆向工程,我不能诚实地说我不完全理解它。我不是程序员,甚至不是学生。因此,我谦卑地请求作为一个外行的帮助。即使是一些正确方向的提示也很好,因为当我在谷歌上搜索时,我甚至不知道该搜索什么术语,除了样本中的代码术语。

提前感谢您的帮助。

<select oninput="license = this.value, update()">
<option value="A">Alpha</option>
<option value="B">Bravo</option>
<option value="C">Charlie</option>
<option value="D">Delta</option>
<option value="E">Echo</option>
<option value="F">Foxtrot</option>
<option value="G">Golf</option>
<option value="H">Hotel</option>
<option value="I">India</option>
</select>

以下是随机选择option的一个简短而正确的解决方案。

随机选择选项的逻辑被包裹在窗口加载事件中:

window.onload = function() {
...
}

window.onload = function() {
let select = document.querySelector('select');
let option = document.querySelectorAll('option');
let index = Math.floor(Math.random() * option.length);
select.selectedIndex = index;
}
<select>
<option value="A">Alpha</option>
<option value="B">Bravo</option>
<option value="C">Charlie</option>
<option value="D">Delta</option>
<option value="E">Echo</option>
<option value="F">Foxtrot</option>
<option value="G">Golf</option>
<option value="H">Hotel</option>
<option value="I">India</option>
</select>

最新更新