Onkohan mahdollista tehdä sellaista pudotusvalikkoa, että kun pudotusvalikon avaa, siellä on väliotsikkona Tammikuu ja sen alla valittavat asiat, sitten Helmikuu ja sen alla valittavat asiat jne.?
Entä kuinka helppoa on saada pudotuvalikko "näyttämään" sitä kuukautta, missä ollaan menossa? Esim. maaliskuussa pudotusvalikko avautuisi maaliskuun kohdalle.
<select>-kenttä ei suoranaisesti tue mitään väli-otsikoita, mutta voi ne sinne piilottaa tavallisiksi optioiksikin. Heh, harvoinpa täältä suoraan valmista koodia saa, mutta nyt kävi tuuri, sillä ei sattunut olemaan parempaakaan tekemistä. Tässä pieni esimerkki:
<?php $kuukaudet = array( 'tammi' => array('asia1', 'asia2'), 'helmi' => array('asia1', 'asia2'), 'maalis' => array('asia1', 'asia2'), 'huhti' => array('asia1', 'asia2'), 'touko' => array('asia1', 'asia2'), 'kesä' => array('asia1', 'asia2'), 'heinä' => array('asia1', 'asia2'), 'elo' => array('asia1', 'asia2'), 'syys' => array('asia1', 'asia2'), 'loka' => array('asia1', 'asia2'), 'marras' => array('asia1', 'asia2'), 'joulu' => array('asia1', 'asia2') ); $nyt = date('n'); // kuluva kuukausi $i = 1; //laskuri silmukkaan echo '<form><select name="testi">'; // loopataan kuukaudet... foreach($kuukaudet as $kk => $valinnat){ $selected = $i == $nyt ? 'selected' : ''; // jos ollaan kuluvan kuukauden kohdalla... echo '<option style="font-weight: bold;" value="'.$kk.'" '.$selected.'>- - - '.$kk.'kuu - - -</option>'; // ... ja loopataan kunkin kuukauden alivalinnat foreach($valinnat as $valinta){ echo '<option value="'.$valinta.'">'.$valinta.'</option>'; } $i++; } echo '</select></form>'; ?>
en nyt ihan ulkoa muista syntaksia, mutta optgroup on ratkaisu.
Tuolla on selvä esimerkki.
Ah, taas oppi uuden asian. No ainakin tuo on helppo soveltaa tuohon esimerkkiini.
Aihe on jo aika vanha, joten et voi enää vastata siihen.