javascript - 从 JavaScript 变量为下拉选项赋值?

标签 javascript html select drop-down-menu

我有一个包含四个选项的下拉菜单。我想从 javascript 为下拉列表分配值。

                <select class="dropwdown-test" id="dropTest"> 
                    <option>Person 1</option>
                    <option>Person 2</option>
                    <option>Person 3</option>
                    <option>Person 4</option>
                  </select>

这四个变量需要分配给 function() 或 function(response) 中的 option 值。

                    var p1 = 'john'
                    var p2 = 'marcus'
                    var p3 = 'anthony'
                    var p4 = 'aaron'

最佳答案

您可以执行如下操作:

document.addEventListener('DOMContentLoaded', (event) => {      // on DOM loaded
  var p1 = 'john';
  var p2 = 'marcus';
  var p3 = 'anthony';
  var p4 = 'aaron';
  
  var list = [p1, p2, p3, p4];    // put the variables in a list
  
  var select =  document.getElementById("dropTest");     // get the select
  var options = select.querySelectorAll("option");       // get it's options
  
  options.forEach(function(el, i) {
    if(list[i]) {              // if list has element list[i]
      el.value = list[i];      // assign option value to list[i]
      // commenting out because OP wants only values assigned and not innerHTML
      // el.innerHTML = list[i];  // assign option innerHTML to list[i]
    }
  });
})
<select class="dropwdown-test" id="dropTest"> 
  <option>Person 1</option>
  <option>Person 2</option>
  <option>Person 3</option>
  <option>Person 4</option>
</select>

                    

关于javascript - 从 JavaScript 变量为下拉选项赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61133864/

相关文章:

java - Ajax 调用后从 Java 下载 ZIP

javascript - 如何映射异步生成器?

html - 第一个 child CSS 不工作

sql-server - 更新 SQL Server 中的 Select Case 语句 :

c# - MySQL IN 子句 : How can I get multiple rows when I use a same value multiple times?

javascript - Chrome 会自动将我的 mvc View 滚动到顶部

javascript - 如何处理 Angular 4 浏览器本地存储中的大量数据?

javascript - 在资源管理器和 firefox 中检测显示器分辨率

php - 为 MYSQL 插入验证数组形式输入

matlab - 按频率选择样本的一部分