2009-12-22 5 views

Répondre

-1

Si les listes natives ne fonctionnent pas pour vous, vous pouvez simuler une liste déroulante avec JavaScript et une position absolue et DIV style. La plupart des cadres de l'interface utilisateur ont des listes étendues. Découvrez YUI, par exemple.

+0

Est-il possible dans la liste de changer la couleur d'arrière-plan mise au point pour toute la liste déroulante? – user220994

+0

Pas vrai, les options de sélection peuvent être stylées (il y a quelques limitations dans certains navigateurs) * toux * IE * toux * http://webbugtrack.blogspot.com/2007/11/bug-291-no-styling-options- en-ie.html – scunliffe

1

Cela devrait fonctionner dans la plupart des navigateurs:

<html> 
<head> 
<style type="text/css"> 
option.red {background-color:red} 
option.blue {background-color:blue} 
option.white {background-color:white} 
</style> 
</head> 

<select> 
<option value="item 1" class="red">Item 1</option> 
<option value="item 2" class="blue">Item 2</option> 
<option value="item 3" class="white">Item 3</option> 
</select> 
</html> 

Cela prouve que les éléments individuels peuvent être de couleur différente, mais je ne suis pas sûr de changer l'événement OnFocus.

+2

CSS sage - oui vous pouvez changer la couleur de fond. Cependant pour les événements, IE ne les déclenchera que sur l'élément select PAS sur les éléments de l'option. De même IE a des options de style très limitées sur les options elles-mêmes. Ainsi, vous ne pouvez pas faire des choses comme définir une image d'arrière-plan ou ajuster le texte individuel indentation/remplissage. – scunliffe

0

Vous pouvez utiliser l'exemple CSS J ou créer un modèle avec une liste déroulante avec jQuery. Il y a un bon nombre de plugins qui sont simples à implémenter. Here's un exemple. Celui-ci permet même des images.