Checkbox with sub-checkboxes

Status
Niet open voor verdere reacties.

gast0123

Gebruiker
Lid geworden
25 feb 2012
Berichten
7
Hi,

Ik denk dat ik een simpel probleem heb, ik kan de oplossing alleen niet vinden.
Dit is mijn script:

HTML:
<p><input type="checkbox" name="major[]" value="Engineering">Engineering</p> 
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td width="5%">&nbsp;</td> 
<td width="95%"><input type="checkbox" name="major[]" value="Computer Science">Computer Science<br> 
<input type="checkbox" name="major[]" value="Mechanical">Mechanical<br> 
<input type="checkbox" name="major[]" value="Manufacturing">Manufacturing<br> 
</td> 
</tr> 
</table>

Ik zou graag willen dat de main-checkbox (Engineering) automatisch word aangevinkt wanneer een van de sub-checkboxes word aangevinkt.

Is dit een simpele HTML aanpassing? Of een stuk javascript wat er bij moet?

Thank you!
 
Hoi Lotte,
Voor zover ik weet kan dat niet met html, en moet er javascript aan te pas komen.

  • De hoofd-checkbox "Engineering" mag niet zelf los aan of uitgevinkt kunnen worden, en moet daarom in de html de eigenschap disabled="disabled" meekrijgen, òf moet met javascript meteen weer uitgezet worden als geen sub-checkbox is aangeklikt, òf moet alle 3 de sub-boxes tegelijk aanzetten (die dan daarna los kunnen worden uitgezet).
  • De "Engineering"-checkbox is nl. geen onafhankelijke checkbox, maar moet aan de andere gekoppeld worden.
  • De 3 er onder zullen dan een "onclick" functie moeten krijgen, die de "Engineering"-checkbox aan zet.
  • Maar ook zal een mechaniekje ingebouwd moeten worden voor het uit kunnen zetten van de "Engineering"-checkbox, voor het geval iemand eerst één of meer onderliggende checkboxen heeft aangevinkt, en later besluit die weer uit te zetten.

Dit is in principe allemaal met javascript te doen, maar er zitten een paar maren aan vast:
  • Als iemand javascript uit heeft staan, of als een browser geen javascript ondersteunt (bv. een pure tekst-browser of voorlees-browser), gaat het hele feest niet door.
  • Een disabled checkbox wordt niet meegezonden met het formulier: "Met het DISABLED attribuut kan aangegeven worden dat de gebruiker niets mag invoeren in het betreffende veld. Een INPUT element met het attribuut DISABLED krijgt geen focus als de gebruiker er op klikt, wordt overgeslagen in de tab-reeks en de waarde van het element wordt niet meegezonden met de rest van het formulier." (handleidinghtml.nl/html/elementen/input.html).
  • The only way to modify dynamically the value of the disabled attribute is through a script. (www.w3.org/TR/html401/interact/forms.html#h-17.12)

Misschien valt e.e.a. (gedeeltelijk) te ondervangen door er een server-side (php) script op los te laten zodra men een checkbox aanklikt, maar daar weet ik onvoldoende van.

Dat brengt me op de vraag: waarom wil je de "Engineering" rubriekstitel tot checkbox maken?

Met vriendelijke groet,
CSShunter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan