javascript – 如何给数组作为选择元素的选项?

我的 HTML页面上有一个select元素.我想用数组填充它.因为我们可以在操作脚本中给数组添加到组合框中.我做如下

在HTML …

<table>
  <tr>
    <td>
      <label>Recording Mode:</label>
    </td>
    <td>
      <select id="rec_mode">        
      </select>
    </td>
  </tr>
</table>

在javascript …

var videoSrcArr = new Array("option1","option2","option3","option4","option5");

页面加载VideoSrcArr时,如何填充rec_mode元素?谢谢

解决方法

我强烈建议您使用如下格式:
var options =
[
  {
    "text"  : "Option 1","value" : "Value 1"
  },{
    "text"     : "Option 2","value"    : "Value 2","selected" : true
  },{
    "text"  : "Option 3","value" : "Value 3"
  }
];

var selectBox = document.getElementById('rec_mode');

for(var i = 0,l = options.length; i < l; i++){
  var option = options[i];
  selectBox.options.add( new Option(option.text,option.value,option.selected) );
}

您不会遇到不得不选择认选项的问题,您可以动态地轻松地生成选项数组.

– 更新 –

ES6版上述代码

var optionList = document.getElementById('rec_mode').options;
var options = [
  {
    "text"  : "Option 1","value" : "Value 3"
  }
];

options.forEach( (option) => optionList.add( new Option(option.text,option.selected ) );

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...