Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript获取datalist选项值的选定值_Javascript_Html_Html Datalist - Fatal编程技术网

使用javascript获取datalist选项值的选定值

使用javascript获取datalist选项值的选定值,javascript,html,html-datalist,Javascript,Html,Html Datalist,我需要使用Javascript将HTML5数据列表中的一些值添加到控件中。但我猜不出怎么做 这就是我尝试过的: 添加 这应该行得通。我已经将值选择逻辑移到了方法本身中。 您将只从输入中获取值。您需要使用该值从数据列表中选择标签 function AddValue(){ const Value = document.querySelector('#SelectColor').value; if(!Value) return; const Text = document.queryS

我需要使用Javascript将HTML5数据列表中的一些值添加到控件中。但我猜不出怎么做

这就是我尝试过的:

添加
这应该行得通。我已经将值选择逻辑移到了方法本身中。 您将只从输入中获取值。您需要使用该值从数据列表中选择标签

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);
}

这应该行得通。我已经将值选择逻辑移到了方法本身中。 您将只从输入中获取值。您需要使用该值从数据列表中选择标签

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);
}

您可以检查输入的修剪值。如果value不为空,则可以通过将value属性与querySelector匹配来获取selected data list选项

请尝试以下方法:

函数addvaluel,dl{ ifel.value.trim!={ var opSelected=dl.querySelector`[value=${el.value}]`; var option=document.createElementoption; option.value=option.value; option.text=optselected.getAttribute'label'; getElementById'Colors'.appendChildoption; } } 添加
您可以检查输入的修剪值。如果value不为空,则可以通过将value属性与querySelector匹配来获取selected data list选项

请尝试以下方法:

函数addvaluel,dl{ ifel.value.trim!={ var opSelected=dl.querySelector`[value=${el.value}]`; var option=document.createElementoption; option.value=option.value; option.text=optselected.getAttribute'label'; getElementById'Colors'.appendChildoption; } } 添加
要在datalist中获取所选选项的ID,也可以使用此代码

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

<script>
$("#SelectColor").change(function(){
  var el=$("#SelectColor")[0];  //used [0] is to get HTML DOM not jquery Object
  var dl=$("#AllColors")[0];
  if(el.value.trim() != ''){
  var opSelected = dl.querySelector(`[value="${el.value}"]`);
  alert(opSelected.getAttribute('id'));
 }
});
</script>

要在datalist中获取所选选项的ID,也可以使用此代码

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

<script>
$("#SelectColor").change(function(){
  var el=$("#SelectColor")[0];  //used [0] is to get HTML DOM not jquery Object
  var dl=$("#AllColors")[0];
  if(el.value.trim() != ''){
  var opSelected = dl.querySelector(`[value="${el.value}"]`);
  alert(opSelected.getAttribute('id'));
 }
});
</script>