使用javascript获取datalist选项值的选定值
我需要使用Javascript将HTML5数据列表中的一些值添加到控件中。但我猜不出怎么做 这就是我尝试过的: 添加使用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
这应该行得通。我已经将值选择逻辑移到了方法本身中。 您将只从输入中获取值。您需要使用该值从数据列表中选择标签
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>