【发布时间】:2020-08-21 15:27:14
【问题描述】:
嘿,我正在尝试在 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);
}
【问题讨论】:
-
用 setAttribute() 解决了,但我不知道如何删除问题? :D
标签: javascript html arrays checkbox onchange