无法从下拉数据列表JS / HTML中获取价值

时间:2019-04-16 11:30:40

标签: javascript html

我有一个基本的下拉列表,但是选择该值时无法对其进行控制(说未定义)

尝试过.value,.text,.val(),它们将不起作用。我已经在网上搜索了,但似乎找不到解决方法。

这是HTML。

<datalist id="browsers">
          <option value="Pacients"></option>
          <option value="Doctor"></option>
</datalist>

我尝试过的JS代码

console.log(document.getElementById('browsers').text);
console.log(document.getElementById('browsers').value);
console.log(document.getElementById('browsers').val());

选择后,我希望将'Pacients'或'Doctor'登录到控制台,但是却给了我undefined或.val()错误

3 个答案:

答案 0 :(得分:1)

如果要下拉菜单,请使用<select>而不是<datalist>

<datalist>的目的是用作自动完成<input>上的建议列表。参见https://www.w3schools.com/tags/tag_datalist.asp

答案 1 :(得分:0)

您可以使用JQuery并像下面这样访问它:

$("#browsers option:selected").text()

答案 2 :(得分:0)

元素数据列表必须在输入中。

        <input id="browsers-input" list="browsers">
            <datalist id="browsers">
                  <option value="Pacients"></option>
                  <option value="Doctor"></option>
            </datalist>

<script>
var browsers_input = document.getElementById("browsers-input");
browsers_input.onchange = function(){
    console.log(browsers_input.value);
    console.log(document.getElementById("browsers-input").value);
};
</script>