2009-05-26 11 views
1

J'ai un DropDownList ASP.NET avec un contenu plutôt large, alors que la largeur de la liste fermée doit être assez petite en raison des limitations de la salle sur le site. C'est pourquoi je dois pouvoir définir une largeur spécifique à la liste quand elle est fermée, mais je veux qu'elle soit aussi large que le contenu quand elle est ouverte. Par défaut, Firefox rend automatiquement DropDownLists aussi large que son contenu lorsqu'il est ouvert. Internet Explorer, d'un autre côté, ne le fait pas.DropDownList largeur dans Internet Explorer

Existe-t-il un moyen de dire à IE de rendre le DDL ouvert aussi large que le contenu lors de son ouverture, mais de le réduire en taille lorsqu'il est fermé? De préférence sans utiliser javascript.

EDIT: Ok, je n'étais pas assez clair dans mon premier post. L'accent est mis sur lorsqu'il est ouvert. Je veux une largeur spécifique sur la liste quand il est fermé, mais je veux qu'il soit aussi large que le contenu lorsqu'il est ouvert. Comme je l'ai dit, Firefox le fait, IE ne le fait pas.

+0

voulez-vous être aussi large que le contenu ou non? Je suis confus – marcgg

+0

Ok, j'ai essayé de le rendre un peu plus clair. –

Répondre

1

Je vous recommande de ne pas utiliser la liste déroulante, mais un plus javascript convivial un comme ça

http://jquery.sanchezsalvador.com/samples/example.htm

Cela permettra à votre contenu d'élargir passé la largeur sélectionne.

+0

Pas ce que je recherchais, mais comme javascript ressemble à la seule solution, je vais vous donner le tag Answered. :) –

+0

Merci. Il est regrettable que javascript (ou autre chose comme flash) est la seule option. Mais c'est parfois comment ça se passe – Bob

0

Par défaut, IE le rend aussi large que le contenu. Ce comportement est modifié si vous spécifiez une largeur sur le DDL ou contraignez le DDL en plaçant une largeur quelque part dans le conteneur parent.

0

Je dirais que votre meilleur pari est de déterminer la largeur maximale et de la définir dans la liste déroulante. De cette façon, vous obtenez un aspect cohérent quel que soit le contenu et vous évitez également ce problème.

1

IE est par défaut aussi large que le contenu.

Définissez une CSSClass et donnez-lui une largeur spécifiée et vous pourrez la modifier.

Vous pouvez aussi aller

select{ 
    width:42px; 
} 

modifier: de ce que vous dites maintenant, je me sens comme vous devez faire un peu de javascript, car IE ne traitera pas que. Essayez de regarder dans jquery