嘿,我正在尝试在javascript中创建一些复选框,并将其添加到我的html中。我想给复选框一个onchange事件,但是该事件仅在它们创建后以及网站加载时才触发,而我单击复选框则没有任何反应。同样,如果我在浏览器中查看网站的源代码,则在复选框处没有onchange事件。
hashtags是一个带有一些具有某些属性的对象的数组,但是它们并不重要
hashtags.forEach(element => {
if(element.categorie == searchedCategorie && element.beitrage == searchedSize && element.language == searchedLang){
searchedHashtags.push(element.hashtagName);
var label = document.createElement("label");
var checkbox = document.createElement("input");
checkbox.className = "checkboxes";
checkbox.type = "checkbox";
checkbox.value = element.hashtagName;
checkbox.onchange = handleChange(checkbox);
checkbox.name = element.hashtagName;
label.appendChild(checkbox);
label.innerHTML += element.hashtagName;
body.appendChild(label);
body.appendChild(document.createElement("br"));
}
});
function handleChange(checkbox){
if(checkbox.checked == true){
countChecked++;
}else if(checkbox.checked == false){
countChecked--;
}
txtarea.innerHTML = countChecked + "/" + searchedHashtags.length + " ausgewählt";
alert(countChecked);
}
答案 0 :(得分:0)
如果替换,则可以解决此错误
checkbox.onchange = handleChange(checkbox)
使用
checkbox.setAttribute("onchange","handleChange(this)");