Как сделать флажок javascript made событием onchange? - PullRequest
0 голосов
/ 06 мая 2020

Привет, я пытаюсь создать несколько флажков в javascript и добавить их в свой html. Я хочу дать флажкам событие onchange, но событие срабатывает только тогда, когда они создаются, и когда сайт загружается, и я нажимаю на флажки, ничего не происходит. Также, если я загляну в исходный код сайта в браузере, там нет события onchange для флажков.

хэштеги - это массив с объектами с некоторыми свойствами, но они не важны

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 голосов
/ 06 мая 2020

Эту ошибку можно решить, заменив

checkbox.onchange = handleChange(checkbox)

на

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