有人可以解释为什么for...loop
不起作用吗? (它应该写出所有选中的复选框,但它只写入最后选中的复选框)
function Matula()
{
var x = document.getElementsByTagName("body")[0];
var y = document.createElement("p");
var g = document.createTextNode("Vasa pizza bude obsahovat:");
y.appendChild(g);
x.appendChild(y);
var swag = document.forms["lol"].matej.length;
for (var i = 0; i < swag; i++)
{
if (document.forms["lol"].matej[i].checked)
{
var torko = document.getElementsByTagName("body")[0];
var q = document.createElement("p");
var w = document.createTextNode(document.forms["lol"].matej[i].value);
q.appendChild(w);
torko.appendChild(q);
return mocny = 0
}
};
}
答案 0 :(得分:3)
return mocny = 0
退出该函数,因此for
仅循环一次,将其置于for
循环
答案 1 :(得分:1)
if块中有一个return语句。这将在第一次进入if之后基本上打破循环。这意味着只打印一个复选框的值。
答案 2 :(得分:0)
我不知道应该做什么,因为所有这些var名称都令人困惑。但是你在if中的回归,在你的for循环中,看起来并不合适。
你应该把它放在你功能的最后一行。
答案 3 :(得分:0)
更干净的代码可能如下所示:
function Matula() {
var body = document.body;
addParagraph(body, "Vasa pizza bude obsahovat:");
var allToppings = document.forms["lol"].matej;
var toppingsCount = allToppings.length;
for (var i = 0; i < toppingsCount; i++) {
if (allToppings[i].checked) {
addParagraph(body,allToppings[i].value);
}
}
}
function addParagraph(body, textToAdd) {
var p = document.createElement("p");
p.appendChild(textToAdd);
body.appendChild(y);
}
键入我的头,可能包含错别字
使它更容易阅读。顺便说一句。支架位置确实有所不同(它不是Java),所以保持它在同一条线上(谷歌的原因)它对你有用吗?