The ID attribute is missing from your inputs.
the name attribute groups the radio and allows you to check only one, but it will not help to independently process inputs through submit or javascript.
You can use CSS :checked to select the next siblings if it's just about the visual (don't send or process anything via js), but an identifier is expected to work anyway.
check box example:
#all:checked ~ .container .filterDiv{ display: block; } .filterDiv, :not(#all):checked ~ .container .filterDiv{ float: left; background-color: #2196F3; color: #ffffff; width: 100px; line-height: 100px; text-align: center; margin: 2px; display: none; } #cars:checked ~ .container .cars, #animals:checked ~ .container .animals, #fruits:checked ~ .container .fruits, #color:checked ~ .container .colors{ display: block; } .container { margin-top: 20px; overflow: hidden; }
<h2>Filter DIV Elements</h2> <input type="checkbox" id="all" checked> Show all<br> <input type="checkbox" id="cars"> Cars<br> <input type="checkbox" id="animals"> Animals<br> <input type="checkbox" id="fruits" > Fruits<br> <input type="checkbox" id="color" > Colors<br> <div class="container"> <div class="filterDiv cars">BMW</div> <div class="filterDiv colors fruits">Orange</div> <div class="filterDiv cars">Volvo</div> <div class="filterDiv colors">Red</div> <div class="filterDiv cars animals">Mustang</div> <div class="filterDiv colors">Blue</div> <div class="filterDiv animals">Cat</div> <div class="filterDiv animals">Dog</div> <div class="filterDiv fruits">Melon</div> <div class="filterDiv fruits animals">Kiwi</div> <div class="filterDiv fruits">Banana</div> <div class="filterDiv fruits">Lemon</div> <div class="filterDiv animals">Cow</div> </div>
Here is my old pen , sorting the gallery via radio input and label inside a form , so the selection can be sent and processed on the server side or through javascript. You can inspire yourself with related code that uses form and radio.
G-cyr source share