Wie man eine String-Variable nach for zurücksetzt, möchte ich durch innerHTML den ausgewählten Wert aus dem gedrückten Kontrollkästchen einfügen, indem ich die Schaltfläche in drücke. Aber ich verstehe nicht, wie man die Variable am besten zurücksetzt, aber es würde nicht die vergangenen Werte + die gegenwärtigen duplizieren.
<div class="container">
<div class="el"></div>
<label for="checkbox1">carWashing</label>
<input type="checkbox" value="carWashing" id="checkbox1" name="checkbox1">
</div>
<div class="el"></div>
<label for="checkbox2">suspensionDiagnostics</label>
<input type="checkbox" value="suspensionDiagnostics id="checkbox2" name="checkbox2">
</div>
<div class="el"></div>
<label for="checkbox3">replacingFilters</label>
<input type="checkbox" id="checkbox3" value="replacingFilters" name="checkbox3">
</div>
</div>
<button class="btn" id="btn"></button>
<div class="l">
<ul class="ul" id="ul">
</ul>
</div>
<script>
let ul = document.getElementById("ul")
let check1 = document.getElementById("checkbox1")
let check2 = document.getElementById("checkbox2")
let check3 = document.getElementById("checkbox3")
let sumLi=''
let checkboxesAll = new Array(check1,check2,check3)
//let checkboxesAll = new Array (document.getElementsByName('checkbox'));
console.log(checkboxesAll)
function start() {
for (let index = 0; index < checkboxesAll.length; index++) {
if (checkboxesAll[index].checked) {
sumLi+='<li>'+ checkboxesAll[index].value + '</li>'
} else {
console.log('не нажат')
}
}
console.log(sumLi)
const arr=sumLi.split("</li>")
console.log(sumLi)
ul.innerHTML+=sumLi
}
document.getElementById('btn').onclick = start;
Lösung des Problems
Ich weiß nicht, ob es das ist, was du brauchst
aber Sie können Ihre Variable am Ende nicht leeren, indem sumLi = ""
Sie dies tun, oder Sie können die Variable nicht in der for-Schleife deklarieren, also jedes Mal, wenn sie aktualisiert wird
Option 1
<div class="container">
<div class="el"></div>
<label for="checkbox1">carWashing</label>
<input type="checkbox" value="carWashing" id="checkbox1" name="checkbox1">
</div>
<div class="el"></div>
<label for="checkbox2">suspensionDiagnostics</label>
<input type="checkbox" value="suspensionDiagnostics id="checkbox2" name="checkbox2">
</div>
<div class="el"></div>
<label for="checkbox3">replacingFilters</label>
<input type="checkbox" id="checkbox3" value="replacingFilters" name="checkbox3">
</div>
</div>
<button class="btn" id="btn"></button>
<div class="l">
<ul class="ul" id="ul">
</ul>
</div>
<script>
let ul = document.getElementById("ul")
let check1 = document.getElementById("checkbox1")
let check2 = document.getElementById("checkbox2")
let check3 = document.getElementById("checkbox3")
let sumLi=''
let checkboxesAll = new Array(check1,check2,check3)
//let checkboxesAll = new Array (document.getElementsByName('checkbox'));
console.log(checkboxesAll)
function start() {
for (let index = 0; index < checkboxesAll.length; index++) {
if (checkboxesAll[index].checked) {
sumLi+='<li>'+ checkboxesAll[index].value + '</li>'
} else {
console.log('не нажат')
}
}
console.log(sumLi)
const arr=sumLi.split("</li>")
console.log(sumLi)
ul.innerHTML+=sumLi
// by empty variable every time
sumLi=""
}
document.getElementById('btn').onclick = start;
Keine Kommentare:
Kommentar veröffentlichen