J'ai un selectchamp de formulaire que je veux marquer comme "lecture seule", car l'utilisateur ne peut pas modifier la valeur, mais la valeur est toujours soumise avec le formulaire. L'utilisation de l' disabledattribut empêche l'utilisateur de modifier la valeur, mais ne soumet pas la valeur avec le formulaire.
L' readonlyattribut n'est disponible que pour les champs inputet textarea, mais c'est essentiellement ce que je veux. Y a-t-il un moyen de faire fonctionner cela?
Deux possibilités que j'envisage incluent:
- Au lieu de désactiver le
select, désactivez tous lesoptions et utilisez CSS pour griser la sélection afin qu'elle semble désactivée. - Ajoutez un gestionnaire d'événements de clic au bouton d'envoi afin qu'il active tous les menus déroulants désactivés avant de soumettre le formulaire.
trafalmadorianarrivé tard, mais les solutions fournies par @ workest sont les meilleures. Il désactive toutes les entrées non sélectionnées. Cela fonctionnerait également si plusieurs options sont activées.$('#toSelect')find(':not(:selected)').prop('disabled',true);