web-dev-qa-db-fra.com

jQuery: Vérification de l'attribut désactivé et ajout/suppression?

Je sélectionne tous les éléments d'entrée d'un formulaire comme celui-ci:

var fields = $( form + " :input" ).not( "button" );

Comment vérifier si l'une de ces entrées a l'attribut disabled et la supprimer quand elle est présente?

De plus, j'ai besoin de l'ajouter après avoir été supprimé (et de sérialiser les champs entre les deux), existe-t-il un moyen élégant pour cela? Quelque chose comme toggle mais pour les attributs?

16
Sven

En supposant que vous utilisez jQuery 1.6 ou supérieur, la méthode suggérée consiste à utiliser . Prop () .

fields.prop("disabled", false);

Si vous avez besoin d’une logique autour de chacun, vous pouvez faire quelque chose dans la mesure du possible.

var fields = $( form + " :input" ).not( "button" );
fields.each(function(index, element) {
    var isDisabled = $(element).is(':disabled');
    if (isDisabled) {
        $(element).prop('disabled', false);
    } else {
        // Handle input is not disabled
    }
});

jsfiddle

45
Ruben Infante

use : disabled Selector ` essayez ceci

$('input:disabled').remove();
1
bipen

Vous pouvez utiliser le sélecteur disabled

$('input:disabled').attr('disabled', '');

Voir ici

http://jsfiddle.net/JngR9/

1
glosrob

Retirer

$('input:disabled').removeProp('disabled');

ou

$('input:disabled').prop('disabled', 'disabled');

Ajouter

$('input:disabled').prop('disabled', 'disabled');
0
Zubarik