使用 javascript 获取数据列表选项值的选定值

Alb*_*hez 6 html javascript html-datalist

我需要从 aHTML5 DataList到 a添加一些值<select multiple>使用 Javascript但我无法猜测该怎么做。

这是我尝试过的:

<input id="SelectColor" type="text" list="AllColors">
<datalist id="AllColors">
  <option label="Red" value="1">
  <option label="Yellow" value="2">
  <option label="Green" value="3">
  <option label="Blue" value="4">
</datalist>

<button type="button" onclick="AddValue(document.getElementById('AllColors').value, document.getElementById('AllColors').text);">Add</button>
<select id="Colors" size="3" multiple></select>
Run Code Online (Sandbox Code Playgroud)
function AddValue(Value, Text){

//Value and Text are empty!

var option=document.createElement("option");
option.value=Value;
option.text=Text;

document.getElementById('Colors').appendChild(option);

}
Run Code Online (Sandbox Code Playgroud)

ble*_*enm 7

这应该有效。我已将值选择逻辑移至方法本身中。您只能从输入中获取值。您将需要使用该值从数据列表中选择标签。

function AddValue(){
  const Value = document.querySelector('#SelectColor').value;

  if(!Value) return;

  const Text = document.querySelector('option[value="' + Value + '"]').label;

  const option=document.createElement("option");
  option.value=Value;
  option.text=Text;

  document.getElementById('Colors').appendChild(option);
}
Run Code Online (Sandbox Code Playgroud)

这是工作演示。