503 votes

Suppression désactivée attribut à l’aide de JQuery ?

Je dois désactiver les entrées dans un premier temps, puis lors du clic sur un lien afin de leur permettre.

C’est ce que j’ai essayé jusqu'à présent, mais il ne fonctionne pas :

HTML :

jQuery :

Cela me montre et puis mais rien ne change pour les entrées :

1007voto

dsg Points 26355

Toujours utiliser l' prop() méthode de d'activer ou de désactiver des éléments lors de l'utilisation de jQuery (voir ci-dessous pourquoi).

Dans votre cas, il serait:

$("#edit").click(function(event){
   event.preventDefault();
   $('.inputDisabled').prop("disabled", false); // Element(s) are now enabled.
});

jsFiddle exemple ici.


Pourquoi utiliser prop() quand vous pourriez utiliser attr()/removeAttr() pour ce faire?

Fondamentalement, prop() doit être utilisé lors de l'obtention ou du réglage des propriétés (comme autoplay, checked, disabled et required - parmi d'autres).

En utilisant removeAttr(), vous êtes complètement retrait de l' disabled de l'attribut lui-même - tout en prop() est simplement la définition de la propriété sous-jacent de la valeur booléenne false.

Tout ce que vous voulez faire peut être fait en utilisant attr()/removeAttr(), cela ne signifie pas qu'il doit être fait (et peut provoquer d'étranges/comportements problématiques, comme dans ce cas).

Les extraits suivants (tirés de la documentation de jQuery pour prop()) expliquer ces points plus en détail:

"La différence entre les attributs et les propriétés peuvent être importants dans des situations spécifiques. Avant de jQuery 1.6, l' .attr() méthode parfois a pris les valeurs de propriété en compte lors de la récupération de certains attributs, ce qui pourrait causer un comportement incohérent. Comme de jQuery 1.6, l' .prop() méthode fournit un moyen explicitement extraire les valeurs de propriété, tandis que .attr() récupère les attributs."

"Les propriétés généralement une incidence sur la dynamique de l'état d'un élément du DOM sans la modification de la sérialisé attribut HTML. Les exemples incluent l' value la propriété des éléments d'entrée, l' disabled de la propriété d'entrées et de boutons, ou l' checked de la propriété d'une case à cocher. L' .prop()méthode doit être utilisé pour définir disabled et checked , au lieu de l' .attr() la méthode. L' .val() méthode doit être utilisée pour l'obtention et la configuration value."

45voto

Muthu Kumaran Points 6665
<pre><code></code><p><a href="http://jsfiddle.net/ZwHfY/">http://jsfiddle.net/ZwHfY/</a></p></pre>

19voto

Dhamu Points 628

Utiliser comme ça,

HTML :

JS :

9voto

NicoSantangelo Points 5445

Je pense que vous essayez d’activer/désactiver l’état désactivé, dans le cas de la sorcière, vous devez utiliser ce (à partir de cette question) :

Voici un violon de travail.

3voto

Er.gaurav soni Points 37

Pensé que cela que vous pouvez facilement créer

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X