我正在编写一个JS代码,它读取特定的复选框,检查它们是否被选中,如果是,则将它们的值附加到字符串。这是我的代码:
var checkboxArr = document.querySelectorAll('#div_name input[type="checkbox"]');
var str="";
for(var i =0; i< checkboxArr.length;i++){
var cb = checkboxArr[i];
if(cb.checked){
var newVal=cb.value;
str=str.concat(newVal);
str=str.concat(",");
}
}
alert(str);
我得到的字符串是:
value1
,value2
,value3
这些换行符是如何进入字符串的?
此外,这些换行符的出现是随机的 - 有时它们会出现,有时我会得到所需的字符串。
我也尝试将concat()调用组合成1个语句,我也使用了+=
运算符,但没有运气。
任何指导都非常感谢。感谢
答案 0 :(得分:2)
这就是你所需要的一切。使用js右:D
var checkboxArr = document.querySelectorAll('#div_name input[type="checkbox"]');
var str = [];
checkboxArr.forEach(function(cb) {
if (cb.checked) str.push(cb.value);
});
alert(str.join(', '));
如果您仍然有相同的结果,请检查您的html
代码。您似乎在复选框
答案 1 :(得分:1)
检查ES6的实施情况,不确定为什么会收到new line
,
var btn = document.getElementById('btn');
btn.onclick = function(){
var checkboxArr = document.querySelectorAll('#div_name input[type="checkbox"]:checked');
var res = Array.from(checkboxArr).map(cb => cb.value.trim()).join(',')
console.log(res)
}
<div id="div_name">
<input type="checkbox" value="cb_1" />
<input type="checkbox" value="cb_2" />
<input type="checkbox" value="cb_3" />
<input type="checkbox" value="cb_4" />
<input type="checkbox" value="cb_5" />
</div>
<button id="btn">Check</button>