I am working on this snippet. Why am I not able to get the value
of any checked checkbox with class .shapes
?
JavaScript
x
4
1
document.getElementsByName('shapes').onclick = function() {
2
var checkboxes = document.getElementsByName('shapes')[0].value;
3
console.log(checkbox.value);
4
}
JavaScript
1
18
18
1
<div class="js-shapes">
2
<span class="ib">
3
<input type="checkbox" name="shapes" class="shapes" value="circle" id="cb-circle"> <label for="cb-circle">Circle</label>
4
</span>
5
<span class="ib">
6
<input type="checkbox" name="shapes" class="shapes" value="diamond" id="cb-diamond"> <label for="cb-diamond">Diamond</label>
7
</span>
8
<span class="ib">
9
<input type="checkbox" name="shapes" class="shapes" value="square" id="cb-square"> <label for="cb-square">Square</label>
10
</span>
11
<span class="ib">
12
<input type="checkbox" name="shapes" class="shapes" value="triangle" id="cb-triangle"> <label for="cb-triangle">Triangle</label>
13
</span>
14
<span class="ib">
15
<input type="checkbox" name="shapes" class="shapes" value="all" id="cb-all" checked> <label for="cb-all">all Shapes</label>
16
</span>
17
18
</div>
Advertisement
Answer
You can simply use querySelectorAll method and use forEach method to check which checkbox was clicked
using addEventListener with change
function in it.
Edit: If you want to get the value of checkbox when checked you can checked
property and then display its value.
Live Demo
JavaScript
1
9
1
let allCheckBox = document.querySelectorAll('.shapes')
2
3
allCheckBox.forEach((checkbox) => {
4
checkbox.addEventListener('change', (event) => {
5
if (event.target.checked) {
6
console.log(event.target.value)
7
}
8
})
9
})
JavaScript
1
18
18
1
<div class="js-shapes">
2
<span class="ib">
3
<input type="checkbox" name="shapes" class="shapes" value="circle" id="cb-circle"> <label for="cb-circle">Circle</label>
4
</span>
5
<span class="ib">
6
<input type="checkbox" name="shapes" class="shapes" value="diamond" id="cb-diamond"> <label for="cb-diamond">Diamond</label>
7
</span>
8
<span class="ib">
9
<input type="checkbox" name="shapes" class="shapes" value="square" id="cb-square"> <label for="cb-square">Square</label>
10
</span>
11
<span class="ib">
12
<input type="checkbox" name="shapes" class="shapes" value="triangle" id="cb-triangle"> <label for="cb-triangle">Triangle</label>
13
</span>
14
<span class="ib">
15
<input type="checkbox" name="shapes" class="shapes" value="all" id="cb-all" checked> <label for="cb-all">all Shapes</label>
16
</span>
17
18
</div>