GOOGLE ADS

Freitag, 22. April 2022

So setzen Sie eine Zeichenfolgenvariable nach for js zurück

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

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...