222 votes

Désactiver l'attribut de l'entrée en utilisant jQuery

Voici mon code :

$("#product1 :checkbox").click(function(){
    $(this)
        .closest('tr') // Find the parent row.
            .find(":input[type='text']") // Find text elements in that row.
                .attr('disabled',false).toggleClass('disabled') // Enable them.
                .end() // Go back to the row.
            .siblings() // Get its siblings
                .find(":input[type='text']") // Find text elements in those rows.
                .attr('disabled',true).removeClass('disabled'); // Disable them.
});

Comment basculer .attr('disabled',false); ?

Je n'arrive pas à le trouver sur Google.

0 votes

Y a-t-il une raison pour laquelle vous ne pouvez pas utiliser la propriété "disabled" du champ ? $("input").get(0).disabled = isFalse; // jsfiddle.net/uAfhj

0 votes

J'ai trouvé le Dépend de plugin qui pourrait vous être utile

1voto

lonesomeday Points 95456

C'est assez simple avec la syntaxe de rappel de attr :

$("#product1 :checkbox").click(function(){
  $(this)
   .closest('tr') // find the parent row
       .find(":input[type='text']") // find text elements in that row
           .attr('disabled',function(idx, oldAttr) {
               return !oldAttr; // invert disabled value
           })
           .toggleClass('disabled') // enable them
       .end() // go back to the row
       .siblings() // get its siblings
           .find(":input[type='text']") // find text elements in those rows
               .attr('disabled',function(idx, oldAttr) {
                   return !oldAttr; // invert disabled value
               })
               .removeClass('disabled'); // disable them
});

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