Using only JavaScript, and regarding my code, how can i check and uncheck with a checkbox as trigger the whole checkbox array?
JavaScript
x
26
26
1
<script language="JavaScript">
2
3
var aux=true;
4
5
function ToggleAllCheck(id) {
6
7
var VarInput = document.getElementById(id);
8
9
for(var i = 0; i < VarInput.length; i++){
10
11
VarInput[i].checked = (aux == true) ? false : true;
12
13
}
14
15
aux = (aux == true) ? false : true;
16
17
}
18
19
</script>
20
21
<input type="checkbox" name="Trigger" onclick="ToggleAllCheck('MyId')" checked /> <!-- Trigger Checkbox -->
22
23
<input type="checkbox" name="MyIdArray[]" id="MyId" value="1" checked />
24
<input type="checkbox" name="MyIdArray[]" id="MyId" value="2" checked />
25
<input type="checkbox" name="MyIdArray[]" id="MyId" value="3" checked />
26
Advertisement
Answer
You can’t give multiple elements the same ID. Give all elements the same Class and select them with getElementsByClassName
like shown in my snippet.
JavaScript
1
26
26
1
<script language="JavaScript">
2
3
var aux=true;
4
5
function ToggleAllCheck(className) {
6
7
var varInput = document.getElementsByClassName(className);
8
9
for(var i = 0; i < varInput.length; i++){
10
11
varInput[i].checked = (aux == true) ? false : true;
12
13
}
14
15
aux = (aux == true) ? false : true;
16
17
}
18
19
</script>
20
21
<input type="checkbox" name="Trigger" onclick="ToggleAllCheck('MyClass')" checked /> <!-- Trigger Checkbox -->
22
23
<input type="checkbox" name="MyCheckbox1" class="MyClass" value="1" checked />
24
<input type="checkbox" name="MyCheckbox2" class="MyClass" value="2" checked />
25
<input type="checkbox" name="MyCheckbox3" class="MyClass" value="3" checked />
26