📅  最后修改于: 2023-12-03 15:21:52.293000             🧑  作者: Mango
在Javascript中,我们可以利用HTML5的<datalist>
元素来收集一组选项,然后从中动态创建一个Javascript数组。
在HTML5中,我们可以使用<datalist>
标签来定义可选项的列表,该标签必须结合<input>
元素一起使用。
下面是一个简单的示例:
<label for="myInput">选择一个水果:</label>
<input list="fruits" id="myInput" name="myInput">
<datalist id="fruits">
<option value="苹果">
<option value="香蕉">
<option value="橙子">
<option value="芒果">
</datalist>
在HTML中,datalist标签中的值可以用javascript进行访问。 我们可以使用以下步骤来动态创建Javascript数组。
首先,获取datalist元素:
const dataList = document.getElementById('fruits');
然后,使用<option>
标记的value
属性将所有选项添加到一个数组中:
const options = [...dataList.options].map((option) => option.value);
该数组现在包含['苹果', '香蕉', '橙子', '芒果']
。
完整的示例代码:
<label for="myInput">选择一个水果:</label>
<input list="fruits" id="myInput" name="myInput">
<datalist id="fruits">
<option value="苹果">
<option value="香蕉">
<option value="橙子">
<option value="芒果">
</datalist>
<script>
const dataList = document.getElementById('fruits');
const options = [...dataList.options].map((option) => option.value);
console.log(options); // ['苹果', '香蕉', '橙子', '芒果']
</script>
使用datalist标签,我们可以轻松地从可选项动态创建Javascript数组,这在实现诸如自动完成之类的功能时是非常有用的。