javascript - Pushing HTML checklist elements into an array with JS -
i want checklist remember value of checked options. whenever user checks box want force value array, whenever unchecks it, want deleted. submit button, want display alert every checked element.
i can fill array, reason overwrites previous elements. won´t react "unchecked-state", neither display on submit. note: need work 200 inputs later.
<h1>checklist</h1> <form> <input type="checkbox" name="remember" id="remember" onclick="checkboxfunction(value)" value="f-card geholt">f-card geholt<br> <input type="checkbox" name="remember" id="remember" onclick="checkboxfunction(value)" value="ersti rally">ersti rally <br> <input type="checkbox" name="remember" id="remember" onclick="checkboxfunction(value)" value="test">test<br> </form> <script type="text/javascript"> var checkbox = document.getelementsbyname("remember"); var checkboxarray = []; function checkboxfunction(value) { for(var i=0, length=checkbox.length; i<length; i++) { if(checkbox[i].checked) { checkboxarray.push(value); } else if (!checkbox[i].checked && value == checkboxarray[i]) { checkboxarray.splice(value); } } } function alertfunction() { for(var i=0, length=checkbox.length; i<length; i++) { if (typeof checkboxarray[i] != 'undefined') { alert(checkboxarray[i]); } } } </script> <input type="button" name="alert" value="submit" onclick="alertfunction()">
move var checkboxarray = []; outside checkboxfunction function
<script type="text/javascript"> var checkboxarray = []; function checkboxfunction(value) { var checkbox = document.getelementsbyname("remember"); for(var i=0, length=checkbox.length; i<length; i++) { if(checkbox[i].checked) { checkboxarray.push(value); } else if (!checkbox[i].checked && value == checkboxarray[i]) { checkboxarray[i] = null; } //alert(checkboxarray[i]); } } function alertfunction() { for(var i=0, length=checkboxarray.length; i<length; i++) { alert(checkboxarray[i]); } } </script> javascript
No comments:
Post a Comment