javascript - 使用javascript循环下拉html数组

标签 javascript html loops for-loop dropdown

我正在尝试使用 javascript 数组填充下拉菜单。我可以让单个元素显示出来,但不能显示整个数组。我确定之前有人问过这个问题,但找不到任何引用资料。任何帮助将不胜感激。

var sex=["male","female", "unknown"];

for (i=0;i<sex.length;i++){
var opt = document.createElement("option");
document.getElementById("m").innerHTML=sex[i];
}

html 是:

    <form name = "demo">
    <table id = "demo">
    <th>Demographics</th>
    <tr><td>Sex</td><td><select><option id="m"></option></select></td></tr>
    </table>
    </form>

最佳答案

请参阅下面对您的问题的非优雅修复。如果您使用 JQuery 库,您可以将其重构为更好看的代码,例如参见 What is the best way to add options to a select from an array with jQuery?

var sex = ["male", "female", "unknown"];

for (i = 0; i < sex.length; i++) {
  var opt = document.createElement("option");
  document.getElementById("m").innerHTML += '<option id="' + i + '">' + sex[i] + '</option>';
}
<form name="demo">
  <table id="demo">
    <th>Demographics</th>
    <tr>
      <td>Sex</td>
      <td>
        <select id="m">

        </select>
      </td>
    </tr>
  </table>
</form>

关于javascript - 使用javascript循环下拉html数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925880/

相关文章:

javascript - 使用 jquery 播放 mp3 文件

javascript - 努力从单击的 div 中获取值

javascript - 表单发送没有改变任何东西的值

python - 为什么索引列表比分配新列表慢?

javascript - 使用样式化组件在第一个焦点上样式化输入边框

javascript - 如何从2个单词中取出第一个字符

javascript - d3.js 叠加图

html - 增加 <li> margin-bottom 而不向下推 bottom div

c++ - 难以理解 OpenMP 代码中的某些意外行为

javascript - 如何让计算机猜测一个数字并返回猜测的数字(Javascript)?