所以这里的功能应该是从表格中检查哪些蛋糕:
function whichCakesAreChecked() {
var cake = document.forms[0];
var cakesChecked = [];
for (var i = 0; i < cake.length; i++) {
if (cake[i].checked) {
cakesChecked.push(cake[i]);
}
}
return cakesChecked.toString();
}
我还有另一个函数,它接受whichCakesAreChecked()的输出并通过giantArray.push(whichCakesAreChecked)
将它推送到一个数组中。当我尝试打印出数组时,其中CakeAreChecked()不会返回已检查的蛋糕,而是返回"[object HTMLInputElement],[object HTMLInputElement]"
之类的内容。
如何更改代码以实际打印出已检查过的蛋糕?
答案 0 :(得分:0)
这样的事情有帮助吗?
在这里,我们可以放置复选框名称,而不是放置复选框元素。
将复选框元素放入数组并调用toString()
会产生多个[object HTMLInputElement]
,因为它们是HTMLInputElement
类型的对象。
function myfunction() {
var arr = [];
var elem1 = document.getElementById('one');
var elem2 = document.getElementById('two');
arr.push(elem1.name);
arr.push(elem2.name);
console.log(arr.toString());
}
myfunction();
<label for='one'>One</label>
<input type="checkbox" id="one" checked="checked" name="one" />
<br/>
<label for='two'>Two</label>
<input type="checkbox" id="two" name="two" />