javascript - 通过 Javascript 附加到数据列表

标签 javascript html html-datalist

我试图通过 JavaScript 填充数据列表,但失败得很惨。下面的代码(对我来说)看起来不错 - 但显然不是。

我需要从数组中填充数据列表并最终嵌入 PHP echo

<html>
<head>

<script type="text/javascript">

function populate()
{
 var cars = ["Saab", "Volvo", "BMW"];   
 var counter=0; 

 for (counter=0; counter<cars.length; counter++)
 {   
  options +='<option value='+cars[counter]+'/>';     
  document.getElementById('mylist').innerHTML = options;
 }
}

</script>


</head>
<body>



<input list="mylist" />

<datalist id="mylist">
<option value="address1">
<option value="address2">
</datalist>


 <input type="button" onclick="populate();" >

</body>
</html>

最佳答案

只需更改几个地方即可使代码运行。

  1. 您需要在循环之前定义选项
  2. 只有在准备好完整的选项列表后才应添加 innerHTML

代码中的其他一些地方也进行了优化。

<html>
 <head>

  <script type="text/javascript">

   function populate()
   {
     var cars = ["Saab", "Volvo", "BMW"]; 
     var options = "";
     
     for (var counter=0; counter<cars.length; counter++) {   
        options +='<option value=" ' +cars[counter] + '">';  
     }
  
    
 
     document.getElementById('mylist').innerHTML = options; 
   }

</script>


</head>
<body>



<input list="mylist" />

<datalist id="mylist">
  <option value="address1">
  <option value="address2">
</datalist>


 <input type="button" onclick="populate();" value="populate" >

</body>
</html>

关于javascript - 通过 Javascript 附加到数据列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57537292/

相关文章:

javascript - 我可以从单独的文件中引用/加载 <datalist> 吗?

javascript - 从第二个输入中删除数据列表选项

javascript - Grunt 任务在执行时不创建 dist 文件夹

javascript - 如何将 'alert' 用作 'popup'

javascript - 仅当鼠标向下滚动到该特定部分时,是否可以开始动画此文本效果?

javascript - 为 EditorFor 提供 ID 属性

jquery - 在提交输入之前增加 Bootstrap 标签输入的大小

javascript - 导航后窗口状态是否持续存在?

Jquery:仅显示图像 slider 中最上面的图像

jquery - HTML5 datalist - 模拟点击事件暴露所有选项