ユーザーがチェックボックスをクリックしたときに配列から要素を追加したり削除したりしたいと思います。これはHTML文書に印刷されます。私はこれまでに関数を実行するたびに配列を空にすることでこれを完了しましたが、配列を空にしてチェック項目を追加するのではなく、項目を削除したいと思います。アレイからのチェックボックス値の追加と削除
https://jsfiddle.net/Buleria28/zz0x6hgc/
/*Object that includes array*/
information {
letters[]
}
/*Function*/
function letter() {
var checkbox = Array.from(document.getElementsByName("test")); //creates array from checkboxes
for (var i = 0; i < checkbox.length; i++) {
if (checkbox.checked) {
information.letters.push(checkbox[i].value);
} else {
var sbVal = checkbox[i].value;
if (information.letters.includes(sbVal) == true) {
var j = indexOf(sbVal);
information.letters.splice(j, 1);
}
}
}
var showAbc = information.letters.join(", "); //converts to string
document.getElementById("displaylet").innerHTML = showAbc; //prints to HTML document
}
/*Event Listener*/
var box = document.getElementsByName("test");
if (box[0].addEventListener) {
for (var i = 0; i < box.length; i++) {
box[i].addEventListener("change", letter, false);
}
} else if (box[0].attachEvent) {
for (var i = 0; i < box.length; i++) {
box[i].attachEvent("onchange", letter);
}
}
HTMLはここにある:あなたのJavascriptコードと
<div>
<label><input type="checkbox" name="test" value="A">A</label>
<label><input type="checkbox" name="test" value="B">B</label>
<label><input type="checkbox" name="test" value="C">C</label>
<label><input type="checkbox" name="test" value="D">D</label>
</div>
<p id="displaylet"></p>