如何将选定值从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);
}