如何将选定值从select元素传输到javascript?

如何将选定值从select元素传输到javascript?,javascript,html,drop-down-menu,Javascript,Html,Drop Down Menu,我有一个具有多个选择的select元素,如下所示: <select multiple> <option value="en">English</option> <option value="de">German</option> </select> 因此,最后一行代码应该看起来像hl:“en”或hl:“de”,或hl:[“en”,“de”] 如何将select元素中的值转换为

我有一个具有多个选择的
select
元素,如下所示:

<select multiple>
  <option value="en">English</option>
  <option value="de">German</option>
</select>
因此,最后一行代码应该看起来像
hl:“en”
hl:“de”
,或
hl:[“en”,“de”]


如何将
select
元素中的值转换为javascript?

您需要从select元素中获取所选值。您可以通过:
document.querySelector(“select”).value
实现这一点,因此代码的完整解决方案将是:

$.ajax({
      url: window.location.protocol + "//example.com/search",
      jsonp: "jsonp",
      dataType: "jsonp",
      data: {
        q: querykeyword,
        client: "chrome",
        hl: document.querySelector("select").value
      });

使用
selectedOptions
属性

var selectedOptions = document.querySelector("select").selectedOptions;
var values = [];
for (let i=0; i<selectedOptions.length; i++) {
  values.push(selectedOptions[i].value);
}

沃尔沃汽车
萨博
欧宝
奥迪

document.querySelector(“select”).value
如果您发送
hl:[“en”]
并始终发送一个数组,那么您的后端就不会那么复杂了。这是否回答了您的问题?您只需要获取select的
.value
。此外,您可以编辑已删除的答案,然后取消删除,而不是删除答案然后发布新答案。当您选择多个选项时,value()将只返回一个值。根据操作,没有下拉列表提及,此问题以前已被问过多次并回答过多次。没有理由再回答它。@OrAssayag在OP:
中,这意味着用户可以选择多个选项。转储代码很少是一个好的答案。正确格式的代码,以及对代码的解释,以及它为什么/如何工作的情况,更经常地被向上投票(对于不常见的重复问题)…值将仅显示一个选定选项。参考我关于这个例子的答案。或者,参考重复问题的答案。不,这是正确的。根据他的问题描述,他需要
hl:[“en”,“de”]
是的,你是对的:(这里只有一个值
var selectedOptions = document.querySelector("select").selectedOptions;
var values = [];
for (let i=0; i<selectedOptions.length; i++) {
  values.push(selectedOptions[i].value);
}