为什么无法在数组中获取输入值复选框?



在下面的代码中,输入的值应该从数组中的每个元素中获取,并且应该创建一个新的div,其输入值在innerHtml中。我不知道为什么会有这么长的错误。价值未定义?

<input type="checkbox" class="checkboxnewdivs" id="checkboxnewdivs" name="checkboxnewdivs" value="divsone">
<input type="checkbox" class="checkboxnewdivs" id="checkboxnewdivs" name="checkboxnewdivs" value="divstwo">
<input type="checkbox" class="checkboxnewdivs" id="checkboxnewdivs" name="checkboxnewdivs" value="divsthree">
<button onclick="myFunction()">Click me</button>
<div id="container"></div>
function myFunction() {
let array = [];
var checkboxnewdivs = document.querySelectorAll('input[name="checkboxnewdivs"]:checked');
for (var i = 0; i < checkboxnewdivs.length; i++) {

var iddivs = array.push(checkboxnewdivs[i].value);  

var div_new = document.createElement("DIV"); 
div_new.innerHTML = "ID div:"+iddivs ;                   
document.getElementById("container").appendChild(div_new);

}        
}
var checkboxnewdivs = document.querySelectorAll('input[name="checkboxnewdivs"]:checked').value;

应该

var checkboxnewdivs = document.querySelectorAll('input[name="checkboxnewdivs"]:checked');

第一个是试图从节点集合中获取value属性,这显然是未定义的。

你也有一些错别字(双's'),没有在任何地方定义array。在定义checkboxnewdivs的地方定义它

工作演示:https://jsfiddle.net/mitya33/m9L2dvz5/1/

最新更新