javascript - 如何将选定的值从选择元素传输到JavaScript?

标签 javascript html drop-down-menu

我有一个可以进行多项选择的 select 元素,如下所示:

<select multiple>
  <option value="en">English</option>
  <option value="de">German</option>
</select>

我有一个 JavaScript,它应该使用选定的值,如下所示:

$.ajax({
                url: window.location.protocol + "//example.com/search",
                jsonp: "jsonp",
                dataType: "jsonp",
                data: {
                q: querykeyword,
                client: "chrome",
                hl: "HERE SHOULD APPEAR ONE OR TWO SELECTED VALUES"
                }

因此最后一行代码应类似于 hl: "en"hl: "de"hl: ["en","de"]

如何将 select 元素中的值传输到 JavaScript 中?

最佳答案

使用selectedOptions属性。

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

.value 将不起作用,因为它只会显示一个选定的选项。

console.log(document.querySelector("select").value)
<select multiple>
  <option value="volvo" selected>Volvo</option>
  <option value="saab" selected>Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

关于javascript - 如何将选定的值从选择元素传输到JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65512316/

相关文章:

javascript - Node.js 客户端请求挂起

javascript - $modal 没有按预期工作

javascript - 如何使用带有 angularjs 的单选按钮启用禁用选择下拉列表?

php - 在自定义主题 wordpress 上添加下拉菜单

PHP & MySQLi - 在下拉列表中显示所选值两次

html - 下拉菜单淡入,但不淡出

javascript - 使用循环(JavaScript)从一维数组创建二维数组

javascript - HTML4 中的 Element.animate()

css - WP + super 鱼 : Parent Menu Item not keeping text-shadow while children are being hovered

javascript - 访问 json 数组时在 javascript 中未定义