Value Meerdere Checkboxen

Status
Niet open voor verdere reacties.

RonaldGJ

Gebruiker
Lid geworden
28 apr 2007
Berichten
419
Hallo iedereen,

Ik zit met het volgende: Ik heb een aantal checkboxes onder elkaar. Nu heb ik 1 checkbox die er voor zorgt dat alle checkboxes gechecked worden. dat gaat met javascript en is het volgende scriptje:

Code:
function check(field){
	var teller;
	if(field.check_this.length != undefined){
		for(teller = 0; teller < (field.check_this.length); teller++){
				if(field.check_all.checked == true){
					field.check_this[teller].checked = true;
				} else {
					field.check_this[teller].checked = false;
				}
		}
	} else {
		if(field.check_all.checked == true){
			field.check_this.checked = true;
		} else {
			field.check_this.checked = false;
		}
	}
}

De checkboxen heten allemaal check_this en de de 'hoofd-checkbox' heet check_all. Bij check_all heb ik: onclick(this.form).

Dit even ter verduidelijking van hoe ik het heb.

Nu wil ik met een knop de values laten zien van de geselecteerde checkboxes. Maar nu komt het:

Om dat te doen moeten de namen een array zijn, dus als naam: check_this[]. Dan werkt de PHP met de knop en de waardes, maar dan werkt mijn javascript functie niet meer. Dus zet ik bij de javascript ipv check_this, overal check_this[] neer. Maar het stukje javascript werkt dan niet meer.

Dus of mijn knop met PHP kan ze niet zien als array, of ik doe dat goed en mijn select all checkboxes werkt niet meer.

Heeft iemand een idee om dit toch samen te laten werken? (Dus de functie dat ik ze allemaal kan checken en unchecken, maar ook dat ik de values van meerder checkboxen kan krijgen).

Vast hartelijk bedankt!

Gr. Ronald!:)
 
Laatst bewerkt:
Hang aan alle checkboxes een class "multicheckable" oid, en zoek daarop ipv op de field name, je kunt er zoveel classes aan hangen als je wilt, dus het kan geen kwaad om een markeer-class eraan te hangen :)
 
En hoe zoek ik op die class namen? En hoe krijg ik uit die classname te weten of de checkbox daarbij checked is? Ik ben niet heel goed thuis in javascript!

Zou je voorbeeldje willen geven?

Bedankt voor je reactie.

Gr. Ronald!:)
 
Wat ik je aanraad is om JQuery te downloaden en te installeren, anders wordt het een hels karwei (en dan lukt het mij ook niet)

Met JQuery ziet het er ongeveer zo uit:

HTML:
$('.multicheckable').each( function() {
  if ( $(this).attr('checked') ) {
    $(this).attr('checked', '');
  }
  else {
    $(this).attr('checked', 'checked' );
  }
} )

Als je die code onder een knop/select button hangt, dan moet het werken :)
 
Sorry dat ik niet wat eerder heb gereageerd, moest het even zeker weten, maar ik heb het ondertussen werkend. Gewoon met een class.

Nja, let niet op de highlight! Ik krijg het niet goed voor elkaar :P!
PHP:
<?php
function check(field){
	for(i=0; i < field.elements.length; i++){
		if(field.elements[i].className == "check_this"){
			if(field.check_all.checked == true){
				field.elements[i].checked = true;
			} else {
				field.elements[i].checked = false;
			}
		}
	}
}
?>

Zo heb ik niks meer met de naam te maken. Kan ik van de naam een array maken en daardoor kan ik met een knop meerdere values ontvangen. Het dat werkt!

JQuery ken ik wel. Ik heb samen met een vriend al eens een website gemaakt voor iemand met veel JQuery. Hij heeft daar het meeste van gedaan. Ik vooral met PHP. Dus ben er niet zo heel goed in thuis!

Toch bedankt!

Gr. Ronald!:)
 
Laatst bewerkt:
Waarschijnlijk en slordigheidstypo hier... maar
HTML:
<style type="text/javascript">
is niet echt hoe het zou moeten zijn, wellicht doet de scripttag het net iets correcter :p
 
Ja ik heb het ook niet zo.. ik heb het anders, maar ik heb het er omgezet omdat ik dacht dat dan de highlight ff beter werd :P!

Gr. Ronald!:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan