javascript - JS : Create comma separated values from values of multiple inputs

标签 javascript html

所以我有这段代码

myTask[] 是这样的一个选择选项

<select name="myTask[]" class="myTask" id="myTask1">
 <option value="1">Task1</option>
 <option value="2">Task1</option>
 <option value="3">Task1</option>
</select>


<select name="myTask[]" class="myTask" id="myTask2">
 <option value="1">Task1</option>
 <option value="2">Task2</option>
 <option value="3">Task3</option>
</select>

<select name="myTask[]" class="myTask" id="myTask3">
 <option value="1">Task1</option>
 <option value="2">Task2</option>
 <option value="3">Task3</option>
</select>

并使用此代码轻松获取这些 select 的值。

JavaScript

var task = document.getElementsByName('myTask[]');
for (var i = 0, iLen = task.length; i < iLen; i++) {
    alert(task[i].value);
}

但我想将它们存储在一个用逗号分隔的 var 中。

如果用户从不同的select中选择了不同的task

var 的值应该是这样的

var arrTask = [2, 3, 1];

我正在尝试将 3 个 select 中的所有选定值存储到 1 个 var

最佳答案

使用 Array.from 将类数组对象(如 myTask[] 元素的集合)转换为数组,同时通过映射器函数将其传递给提取每个选择元素的 .value:

window.onchange = () => {
  const arrTask = Array.from(
    document.getElementsByName('myTask[]'),
    select => select.value
  );
  console.log(arrTask);
};
<select name="myTask[]" class="myTask" id="myTask1">
 <option value="1">Task1</option>
 <option value="2">Task2</option>
 <option value="3">Task3</option>
</select>


<select name="myTask[]" class="myTask" id="myTask2">
 <option value="1">Task1</option>
 <option value="2">Task2</option>
 <option value="3">Task3</option>
</select>

<select name="myTask[]" class="myTask" id="myTask3">
 <option value="1">Task1</option>
 <option value="2">Task2</option>
 <option value="3">Task3</option>
</select>

关于javascript - JS : Create comma separated values from values of multiple inputs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58404828/

相关文章:

javascript - 一键触发切换功能?按下按钮 -> toggleOn(),再按一次 -> toggleOff(),再按一次 -> toggleOn()

HTML5/CSS3 如何扩展 anchor 元素以适应其父级的全尺寸

php - 自动完成不返回搜索到的值,但它返回所有值(在 PHP、jQuery 中)

javascript - 更改包含在 <td> 标记中的某些值的字体颜色

javascript - 如何在范围更改时显示模板 [Angular 指令]

javascript - window.open 在 IE 中使用相对 URL 失败(使用 base 标签时)

javascript - Chart JS动态图表

javascript - 在 p5.js 中创建圆 Angular Canvas

javascript - 通过单击不同的按钮更改具有特定表格的容器的内容

javascript - 在 <form> 之外输入标签并提交表单