Beispiel:HTML input-Element9.html

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

<!DOCTYPE html> <html lang="de"> <head>

 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Checkboxen mit :checked und :indeterminate</title>  
 <style>

input[type="radio"]:checked + label, input[type="checkbox"]:checked + label {

 font-weight: bold;
 color: darkred;

} input:indeterminate + label {

 color: orange;
 font-style: italic;

} fieldset { padding: 1em; margin-block: 2em; border:none; } legend { font-size: 1.1em;

 font-weight: bold;

border: thin solid; border-radius: 0.5em; padding-inline: 0.5em; background: white; } input { margin-right: 1em; }

label::after { content: ""; display: block; }

body { background-image: linear-gradient(135deg, red 20%, white 25%, white 75%, green 79%); background-repeat: no-repeat; height: 100vh; margin: 0; }

h1,p, form { width: 25em; margin: 0 auto; }

h1 { padding: 1em 0; text-align:center; }

</style> </head> <body>

Wähl dir deine Pizza 🍕

(Checkboxen mit :checked und :indeterminate)

<form> <fieldset>

 <legend>Boden</legend>
 <input type="radio" id="wh" name="Boden" value="Weizen" checked>
 <label for="wh">Weizen</label>
<input type="radio" id="wm" name="Boden" value="Vollkorn"> <label for="wm">Vollkorn</label>
<input type="radio" id="dinkel" name="Boden" value="Dinkel"> <label for="dinkel">Dinkel</label>

</fieldset>

<fieldset>

 <legend>Zutaten</legend>
 <input type="checkbox" id="all">
 <label for="all">Alle Zutaten auswählen</label>

 <input type="checkbox" name="zutat" value="Käse" id="check1" checked>
 <label for="check1">Käse</label>
<input type="checkbox" name="zutat" value="Schinken" id="check2"> <label for="check2">Schinken</label>
<input type="checkbox" name="zutat" value="Salami" id="check3"> <label for="check3">Salami</label>
<input type="checkbox" name="zutat" value="Oliven" id="check4"> <label for="check4">Oliven</label>
<input type="checkbox" name="zutat" value="Paprika" id="check5"> <label for="check5">Paprika</label>
<input type="checkbox" name="zutat" value="Pilze" id="check6"> <label for="check6">Pilze</label>

</fieldset> </form> <script> // Checkboxen holen const all = document.getElementById('all'); const toppings = document.querySelectorAll('input[name="zutat"]');

// "Alle auswählen" steuert die Zutaten all.addEventListener('change', () => {

 toppings.forEach(t => t.checked = all.checked);

});

// Zutaten-Status ändert "Alle auswählen" function updateAll() {

 const checked = [...toppings].filter(t => t.checked);
 if (checked.length === 0) {
   all.checked = false;
   all.indeterminate = false;
 } else if (checked.length === toppings.length) {
   all.checked = true;
   all.indeterminate = false;
 } else {
   all.checked = false;
   all.indeterminate = true;
 }

} toppings.forEach(t => t.addEventListener('change', updateAll)); updateAll(); // Initial setzen </script>

</body> </html>