Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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在选定的多个下拉列表中获取值?_Javascript - Fatal编程技术网

如何使用Javascript在选定的多个下拉列表中获取值?

如何使用Javascript在选定的多个下拉列表中获取值?,javascript,Javascript,我只能在“选择多个”下拉列表中获取最后选定的值 我在论坛上尝试过答案,但没有成功 我的HTML: 谢谢。您可以尝试: filter方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素 以及: map方法创建一个新的数组,其结果是对调用数组中的每个元素调用提供的函数 请尝试以下方法: document.getElementById'provider'.addEventListener'change',函数{ 控制台。清除; 让selected=[…this.options].filte

我只能在“选择多个”下拉列表中获取最后选定的值

我在论坛上尝试过答案,但没有成功

我的HTML:

谢谢。

您可以尝试:

filter方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素

以及:

map方法创建一个新的数组,其结果是对调用数组中的每个元素调用提供的函数

请尝试以下方法:

document.getElementById'provider'.addEventListener'change',函数{ 控制台。清除; 让selected=[…this.options].filteroption=>option.selected.mapo=>o.value; console.logselected; }; 发票提供商名称 提供者1 供应商2
请同时添加HTML select元素。至于您的问题,pro是一个“字符串”类型的变量。它只能存储一个被重写的值。添加了HTML。我怎样才能让pro保存多个值?我想通过ID获得具体的选择多个下拉列表。这在您的代码中可能吗?不使用document.querySelector'select',您可以使用document.querySelector'provider'@RJVillamer,就像Krishna Prashatt之前的评论一样,更新了答案,请检查:我建议将查询选择器更改为getElementById,因为它要快得多。将o.text改为o.value:如果可以,我会再次投票。我还建议不要在该函数中使用此函数。相反,我将它改为.addEventListener'change',ev=>{const sel=ev.target。。。
<select id="provider" class="validate" multiple required>
  <option value="" disabled>Invoice Provider Name</option>
  <option>Provider 1</option>
  <option>Provider 2</option>
</select>
function addRow(){
  var x=document.getElementById("provider");
  var pro = '';
  for (var i = 0; i < x.options.length; i++) {
    if(x.options[i].selected ==true){
      pro = x.options[i].length.value;
    }
  }
}
Provider 1
Provider 2