我要制作的系统是,如果您选中一个复选框,则某些文本会出现在文本区域中。取消选中时,文本消失。现在,我的大部分代码都能正常工作,如果您选中一个复选框,则会出现一些文本,如果您取消选中它,则文本将消失。
但是,逗号保持不变,因此我只剩下一个带有大量逗号的文本区域。
代码:
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;
}
这是我现在得到的:
问题是,当您将数组元素分配给索引时,它会将其他空元素保留在数组中,从而导致逗号。
text[counter] = b;
相反,您可以只将元素推入数组的后面。
let text = [];
let counter = 0;
function boxChecker(a, b) {
let checkBox = document.getElementById("myCheck" + a);
let textarea = document.getElementById("textarea");
text.push(b);
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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句