[英]Pass multiple selected value and text as an array javascript
我有 select 字段,从那里我可以 select 多个数据。 现在我想像数组一样访问该值作为键和值。
let selected_size = $(this).find(":selected").map(function(i, el) {
var value = $(el).val();
var text = $(el).text();
}).get();
我想像这样访问 select 值:
[1=>red,2=>green]
数字将是颜色的实际值。
我试着做:
let selected_size = $(this).find(":selected").map(function(i, el) {
var value = $(el).val();
var text = $(el).text();
return [value=>text]
}).get();
但这似乎不起作用。
在JavaScript中, Objects通常用来存储Key/value对。
这是一个使用 JS 的Array.prototype.reduce()的例子
$("select[multiple]").on("input", function() { const data = $(this).find(":selected").get().reduce((ob, el) => { ob[el.value] = el.textContent; return ob }, {}); console.log(data); });
<select multiple> <option value="1">Red</option> <option value="2">Blue</option> <option value="3">Green</option> </select> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.