javascript - 从列表中随机选择一个项目

标签 javascript random

我正在学习 Javascript,我需要一些帮助。我有一个 list 。我尝试制作一个列表,您可以通过单击按钮从该列表中随机获取一首歌曲,但它似乎不起作用。我的列表在下面,我做错了什么?

<!DOCKTYPE html>
<html>
<head>
</head>
<body>

<div>
  <button type="randomSong">Random Music</button>
  <input "randomSong" id="randomSong">
</div>

<script>

var song = Array("song1", "song2", "song3", "song4", "song5", "song6");

var randomSong = song[Math.floor(Math.random()*song.length)];

</script>

</body>
</html>

最佳答案

您的代码几乎是正确的。这是一个正确的版本:

HTML

<div>
  <button type="randomSong" onclick="randomSong()">Random Music</button>
  <input name="randomSong" id="randomSong">
</div>

修改:

  • 向输入添加属性名称(您的 "randomSong" 没有任何属性键)
  • 使用 onclick 回调,这样当您单击按钮时就会发生一些事情

JS

var song = Array("song1", "song2", "song3", "song4", "song5", "song6");

function randomSong() {
  var randomSong = song[Math.floor(Math.random() * song.length)];
  document.getElementById('randomSong').value = randomSong;
}

修改:

  • 将随机代码包装到一个函数中(由按钮的 onclick 属性引用的函数)
  • 将结果分配给输入

关于javascript - 从列表中随机选择一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35125759/

相关文章:

javascript - 调试客户端时使用 Chrome/Firefox

haskell - Haskell 中的伪随机数生成器

java - 如何避免覆盖java中的按钮文本?

c# - 洗牌以覆盖所有可能的排列

javascript - 如何在highcharts中同步多个图表的高度和y轴基线

javascript - 即时编辑 Facebook Like-Box Css?

asp.net - 在 jQuery 中捕获异常

javascript - 更改/获取 CheckBox 的检查状态

c# - Random(staticSeed).Next() 替代方案,永远不会改变实现,并保证通过版本保持一致

java - 如何从给定的数字列表中使用Java生成随机数