繁体   English   中英

将多个选定值和文本作为数组传递 javascript

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM