Per il mio lavoro mi sono trovato nell'esigenza di mettere dei tooltips sulle OPTION di una SELECT. In generale questa operazione non si può fare, perché le option non sono come A e quindi non gestiscono gli eventi di passaggio del mouse (almeno su Internet Explorer...).
Inoltre, se si da una dimensione alla SELECT, anche la tendina delle OPTION avrà quella dimensione e quindi se la descrizione supera tale lunghezza, sarà impossibile vedere la scelta(su FireFox questo problema non c'è).

Soluzione? Fingere! Sostituiamo la select con una INPUT di testo, dotata di un pulsantino che le consenta di aprire un DIV nascosto che contiene le OPTION.
E' più semplice di quello che sembra...

Vogliamo simulare questo!
Codice PHP:
<SELECT name="valoreEffettivo" style="width: 100px">
    <
OPTION value="pm3_3.7.1">PortMaster 3 with ComOS 3.7.1
    
<OPTION value="pm3_3.7">PortMaster 3 with ComOS 3.7
    
<OPTION value="pm3_3.5">PortMaster 3 with ComOS 3.5
    
<OPTION value="pm2_3.7">PortMaster 2 with ComOS 3.7
    
<OPTION value="pm2_3.5">PortMaster 2 with ComOS 3.5
    
<OPTION value="IRX_3.7R">IRX with ComOS 3.7R
    
<OPTION value="IRX_3.5R">IRX with ComOS 3.5R
</SELECT
e lo faremo con questo

Codice PHP:
    <input id="valoreEffettivo" name="valoreEffettivo" type="hidden" value="" />
    <
div id="contenitoreSelect" name="contenitoreSelect" class="select">
        <
table cellspacing="0" cellpadding="0" border="0"><tr>
            <
td width="99%" valign="center">
                <
input readonly id="inputvalore" name="inputvalore" type="text" class="inputvalue" value="">
            </
td>
            <
td valign="center">
                [
url="javascript:open();"][img]selectToolTips/select.gif[/img][/url]
            </
td>
        </
tr></table>
    </
div>
    <
div id="divmenu" name="divmenu" class="menu" style="display: none">
        <
div style="position: relative">
        [
url="javascript:valore('pm3_3.7.1','PortMaster 3 with ComOS 3.7.1');"]<NOBR>PortMaster 3 with ComOS 3.7.1</NOBR>[/url]

        [
url="javascript:valore('pm3_3.7','PortMaster 3 with ComOS 3.7');"]<NOBR>PortMaster 3 with ComOS 3.7</NOBR>[/url]

        [
url="javascript:valore('pm3_3.5','PortMaster 3 with ComOS 3.5');"]<NOBR>PortMaster 3 with ComOS 3.5</NOBR>[/url]

        [
url="javascript:valore('pm2_3.7','PortMaster 2 with ComOS 3.7');"]<NOBR>PortMaster 2 with ComOS 3.7</NOBR>[/url]

        [
url="javascript:valore('pm2_3.5','PortMaster 2 with ComOS 3.5');"]<NOBR>PortMaster 2 with ComOS 3.5</NOBR>[/url]

        [
url="javascript:valore('IRX_3.7R','IRX with ComOS 3.7R');"]<NOBR>IRX with ComOS 3.7R</NOBR>[/url]

        [
url="javascript:valore('IRX_3.5R','IRX with ComOS 3.5R');"]<NOBR>IRX with ComOS 3.5R</NOBR>[/url]

        </
div>
    </
div
Occorreranno queste funzioni JS

Codice PHP:
    function open() {
        if (
divmenu.style.display=="none") {
            
divmenu.style.display="";
        } else {
            
divmenu.style.display="none";
        }
    }
    function 
valore(valordesc) {
        
inputvalore.value=desc;
        
valoreEffettivo.value=valor;
        
divmenu.style.display="none";
    } 
e questo codice CSS

Codice PHP:
.select {
    
font-family:Arial;
    
font-size:13px;
    
text-align:left;
    
font-weight:normal;
    
margin:0px;
    
vertical-aligntop;
    
cleanboth;
    
border1px;
    
border-color#7F9DB9;
    
border-stylesolid;
    
overflownone;
    
width:100px
    
height:10px;
    
padding:1px;
}
.
menu {
    
font-family:Arial;
    
font-size:13px;
    
text-align:left;
    
font-weight:normal;
    
margin:0px;
    
vertical-aligntop;
    
cleanboth;
    
background-colorwhite;
    
border1px;
    
border-colorblack;
    
border-stylesolid;
    
overflownone;
    
padding:2px;
    
width:100px
    
height:100px;
    
positionabsolute;
    
leftexpression(document.getElementById("contenitoreSelect").offsetLeft); /* IE5+ only */
    
z-index30;
}
.
inputvalue {
    
font-family:Arial;
    
font-size:13px;
    
text-align:left;
    
font-weight:normal;
    
margin:0px;
    
vertical-aligntop;
    
border0px;
    
width:80px
}
.
linkoption {
    
font-family:Arial;
    
font-size:13px;
    
text-align:left;
    
colorblack;
    
font-weight:normal;
    
text-decorationnone;
}

A.linkoption:hover {
    
font-family:Arial;
    
font-size:13px;
    
text-align:left;
    
colorwhite;    
    
background-color#316AC5;
    
font-weight:normal;
    
text-decorationnone;

Il tutto è funzionate da Internet Explorer 5 in su, ma non funziona per Netscape...
Quindi usate solo se veramente necessario e sempre in abbinamento ad uno script che distingua tra i browser per visualizzare nel caso una semplice SELECT.

Se perfezionate il codice, siete pregati di postare anche qui le modifiche... GRAZIE!