首页 > 解决方案 > 数组中的逗号,javascript

问题描述

我想要做的是一个系统,如果你选中一个复选框,一些文本会出现在文本区域中。当您取消选中它时,文本会消失。现在我的大部分代码都可以工作了,如果你选中一个复选框,就会出现一些文本,如果你取消选中它,文本就会消失。

但是,逗号仍然存在,所以我留下了一个带有大量逗号的文本区域。

代码 :

let text = [];
let counter = 0;

function boxChecker(a, b) {

  let checkBox = document.getElementById("myCheck" + a);

  let textarea = document.getElementById("textarea");

  for (var i = 0; i < counter + 1; i++) {
    text[counter] = b;
  }

  counter++;

  if (checkBox.checked == true) {
    textarea.value = text;
  } else {
    text.pop();
    for (var i = 0; i < text.length; i++) {
      if (text[i] === b) {
        text.splice(i, 1);
      }
    }
  }
  textarea.value = text;
}

这是我现在得到的:

在此处输入图像描述

标签: javascripthtml

解决方案


给所有的复选框一个通用的类。获取所有选中的值并显示,而不是使用函数参数传递复选框编号和值来显示。

function boxChecker() {
    let allValues = Array.from(document.querySelectorAll(".myCheck:checked")).map(el => el.value);
    document.getElementById("textarea").value = allValues.join(",");
}

推荐阅读