How to implement "select all" check box in HTML? How to implement "select all" check box in HTML? javascript javascript

How to implement "select all" check box in HTML?


<script language="JavaScript">function toggle(source) {  checkboxes = document.getElementsByName('foo');  for(var checkbox in checkboxes)    checkbox.checked = source.checked;}</script><input type="checkbox" onClick="toggle(this)" /> Toggle All<br/><input type="checkbox" name="foo" value="bar1"> Bar 1<br/><input type="checkbox" name="foo" value="bar2"> Bar 2<br/><input type="checkbox" name="foo" value="bar3"> Bar 3<br/><input type="checkbox" name="foo" value="bar4"> Bar 4<br/>

UPDATE:

The for each...in construct doesn't seem to work, at least in this case, in Safari 5 or Chrome 5. This code should work in all browsers:

function toggle(source) {  checkboxes = document.getElementsByName('foo');  for(var i=0, n=checkboxes.length;i<n;i++) {    checkboxes[i].checked = source.checked;  }}


Using jQuery:

// Listen for click on toggle checkbox$('#select-all').click(function(event) {       if(this.checked) {        // Iterate each checkbox        $(':checkbox').each(function() {            this.checked = true;                                });    } else {        $(':checkbox').each(function() {            this.checked = false;                               });    }});

HTML:

<input type="checkbox" name="checkbox-1" id="checkbox-1" /><input type="checkbox" name="checkbox-2" id="checkbox-2" /><input type="checkbox" name="checkbox-3" id="checkbox-3" /><!-- select all boxes --><input type="checkbox" name="select-all" id="select-all" />


I'm not sure anyone hasn't answered in this way (using jQuery):

  $( '#container .toggle-button' ).click( function () {    $( '#container input[type="checkbox"]' ).prop('checked', this.checked)  })

It's clean, has no loops or if/else clauses and works as a charm.