web-dev-qa-db-fra.com

Désactivation des contrôles dans Bootstrap

J'utilise Bootstrap css et js dans mon application. J'ai accidentellement cliqué sur une liste déroulante désactivée et découvert qu'elle ouvrait la liste déroulante. Je l'ai fait readonly dans l'attribut de l'élément select:

<select id="xxx" name="xxx" class="input-medium" readonly>

J'ai également essayé de définir readonly="true", mais toujours le même.

Cependant, le contrôle de zone de texte fonctionne correctement si vous n'utilisez pas jQuery.datepicker.

Existe-t-il un moyen spécial de créer un contrôle déroulant en lecture seule lorsque nous utilisons bootstrap?

47
Firnas

Non, Bootstrap n'introduit pas de considérations spéciales pour la désactivation d'une liste déroulante.

<select id="xxx" name="xxx" class="input-medium" disabled>

ou

<select id="xxx" name="xxx" class="input-medium" disabled="disabled">

marchera. Je préfère donner des valeurs aux attributs (comme dans le deuxième formulaire; en XHTML, les attributs doivent avoir une valeur), mais la spécification HTML indique: 

La présence d'un attribut booléen sur un élément représente le vrai valeur, et l'absence de l'attribut représente la valeur fausse.

(from http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute )

Les principales différences entre lecture seule et désactivée: *

L'attribut désactivé

  • Les valeurs des éléments de formulaire désactivés ne sont pas transmises à la méthode Du processeur. Le W3C appelle cet élément un élément qui a réussi (cela fonctionne de manière similaire.pour former des cases à cocher non cochées).
  • Certains navigateurs peuvent remplacer .__ ou fournir un style par défaut pour les éléments de formulaire désactivés. (Grisé ou Texte en relief) Internet Explorer 5.5 est particulièrement méchant à ce sujet.
  • Les éléments de formulaire désactivés ne reçoivent pas le focus.
  • Les éléments de formulaire désactivés Sont ignorés dans la navigation par tabulation.

L'attribut en lecture seule

  • Tous les éléments de formulaire n'ont pas d'attribut en lecture seule. Plus remarquables, les éléments <SELECT>, <OPTION> et <BUTTON> ne possèdent pas d'attribut en lecture seule (bien que les deux aient des attributs désactivés)
  • Les navigateurs ne fournissent aucun retour visuel écrasé par défaut indiquant que l'élément de formulaire est en lecture seule.
  • Les éléments de formulaire avec l'attribut readonly seront transmis au processeur de formulaire.
  • Les éléments de formulaire en lecture seule peuvent recevoir le focus
  • Les éléments de formulaire en lecture seule sont inclus dans la navigation par onglets.

* plagiat flagrant de http://kreotekdev.wordpress.com/2007/11/08/disabled-vs-readonly-form-fields/

88
Jeromy French

essayer

$('#xxx').attr('disabled', true);
12
silly

Essayer

<select id="xxx" name="xxx" class="input-medium" disabled>
2
Murat Çorlu

N'oubliez pas que pour jQuery 1.6+, vous devez utiliser la fonction .prop().

$("input").prop('disabled', true);

$("input").prop('disabled', false);
2
user1695121

aussi vous pouvez utiliser "readonly"

<select id="xxx" name="xxx" class="input-medium" readonly>
0
zahid ullah
<select id="message_tag">
<optgroup>
<option>
....
....
</option>
</optgroup>

ici je viens de supprimer bootstrap css pour seulement "sélectionner" élément en utilisant le code css suivant.

#message_tag_chzn{
display: none;
}

 #message_tag{
  display: inline !important;
}
0
Alagesan