NYCPHP Meetup

NYPHP.org

[nycphp-talk] Javascript "select all" feature?

Wellington Fan wfan at encogent.com
Tue Apr 13 16:39:02 EDT 2004


Try this:


<script>
<!--
	function selectAll(f,n,v) {
		var chk   = ( v == null ? true : v );
		for (i = 0; i < f.elements.length; i++) {
			if( f.elements[i].type == 'checkbox' &&
f.elements[i].name == n ) {
				f.elements[i].checked = chk;
			}
		}
	}
//-->
</script>

<form>
<input type="text" name="move[]"><br>
<input type="checkbox" name="move[]"><br>
<input type="checkbox" name="move[]"><br>
<input type="checkbox" name="move[]"><br>
<input type="checkbox" name="move[]"><br>
<input type="radio" name="move[]"><br>
<input type="checkbox" name="select[]"><br>
<input type="checkbox" name="select[]"><br>
<input type="checkbox" name="select[]"><br>
<input type="checkbox" name="select[]"><br>
<input type="button" onClick="selectAll(this.form,'move[]')" name="butt"
value="check em">
<input type="button" onClick="selectAll(this.form,'move[]',false)"
name="butt" value="clear em">
</form>


So  selectAll(this.form,'move[]',false)   can take 2 or 3 args:

1. - reference to the form
2. - the 'name' of the checkboxes to be set/cleared
3. - <optional, default is true> false to clear the checkboxes

--
Wellington








> -----Original Message-----
> From: talk-bounces at lists.nyphp.org 
> [mailto:talk-bounces at lists.nyphp.org] On Behalf Of Phillip Powell
> Sent: Tuesday, April 13, 2004 4:04 PM
> To: NYPHP Talk
> Subject: Re: [nycphp-talk] Javascript "select all" feature?
> 
> 
> What about the other checkboxes, "select_all" and 
> "deselect_all", along 
> with other dynamically-generated checkbox groups that may also exist 
> within this HTML resultset?
> 
> Phil
> 
> felix zaslavskiy wrote:
> 
> >Try this:
> >for (var i = 0; i < document.imageForm.elements.length; i++){ 
> >if(document.imageForm.elements[i].type == 'checkbox'){
> >      document.imageForm.elements[i].checked = true;
> >}
> >}
> >  
> >
> >>I am producing a form using PHP on the back end and 
> Javascript on the 
> >>front end.  The resulting script will come to the browser 
> as follows:
> >>
> >>[Code]
> >><script>
> >><!--
> >>  function selectAll() {
> >>   moveElement = eval("document.imageForm.move" + "[]");
> >>   alert(moveElement);
> >>   if (document.imageForm.select_all[0].checked) {
> >>    for (i = 0; i < document.imageForm.move.length; i++) {
> >>     document.imageForm.move[i].checked = true;
> >>    }
> >>  }
> >> }
> >>
> >> function deSelectAll() {
> >>  if (!document.imageForm.select_all[0].checked ||
> >>document.imageForm.deselect_all[0].checked) {
> >>   for (i = 0; i < document.imageForm.move.length; i++) {
> >>    document.imageForm.move[i].checked = false;
> >>   }
> >>  }
> >> }
> >>//-->
> >></script>
> >>[/Code]
> >>
> >>This will work with a checkbox group that has to have this naming 
> >>convention for PHP:
> >>
> >>[Code]
> >><input type=checkbox name=move[] value="myImage.gif"> - 
> Move? [/Code]
> >>
> >>I will also have a checkbox that will "select all" and "de-select 
> >>all":
> >>
> >>[Code]
> >><input type=checkbox name=select_all value=1 
> onChange="selectAll()"> - 
> >>Select All <input type=checkbox name=deselect_all value=1 
> >>onChange="deSelectAll()">
> >>- De-select All
> >>[/Code]
> >>
> >>I am not familiar at how Javascript can work with 
> non-standard naming 
> >>conventions for event actions, can someone tell me what I'm doing 
> >>wrong?  This fails at least in Mozilla 1.6
> >>
> >>Thanx
> >>Phil
> >>
> >>_______________________________________________
> >>talk mailing list
> >>talk at lists.nyphp.org http://lists.nyphp.org/mailman/listinfo/talk
> >>
> >>    
> >>
> >
> >
> >  
> >
> 
> 
> _______________________________________________
> talk mailing list
> talk at lists.nyphp.org http://lists.nyphp.org/mailman/listinfo/talk
> 




More information about the talk mailing list