如何给JavaScript做一个onchange事件复选框?

时间:2020-05-06 15:28:28

标签: javascript html arrays checkbox onchange

嘿,我正在尝试在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);

}

1 个答案:

答案 0 :(得分:0)

如果替换,则可以解决此错误

checkbox.onchange = handleChange(checkbox)

使用

checkbox.setAttribute("onchange","handleChange(this)");