142 votes

Comment puis-je désactiver un bouton dans une boîte de dialogue jQuery UI ?

Comment puis-je aller sur la désactivation d’un bouton dans la boîte de dialogue jQuery UI. Je n’arrive pas à le trouver dans aucun des documents dans le lien ci-dessus.

J’ai 2 boutons sur la confirmation de modale (« Confirmer » et « Annuler »). Dans certains cas, je veux désactiver le bouton « Confirmer ».

214voto

Nicola Tuveri Points 1359

Il ressemble à n’importe qui, même dans cette question liée, ont proposé cette solution, semblable à la première partie de la réponse donnée par Nick Craver :

Puis, par ailleurs, vous devriez être capable d’utiliser l' API pour le bouton de l’interface utilisateur de jquery :

158voto

Nick Craver Points 313913

Si vous êtes, y compris l' .button() plugin/widget que jQuery UI contient (si vous avez la totalité de la bibliothèque et sont sur 1,8+, vous en avez un), vous pouvez l'utiliser pour désactiver le bouton et mettre à jour l'état visuellement, comme ceci:

$(".ui-dialog-buttonpane button:contains('Confirm')").button("disable");

Vous pouvez l'essayer ici...ou si vous êtes sur une version plus ancienne ou non à l'aide du bouton de widget, vous pouvez le désactiver comme ceci:

$(".ui-dialog-buttonpane button:contains('Confirm')").attr("disabled", true)
                                              .addClass("ui-state-disabled");

Si vous le voulez à l'intérieur d'un dialogue, par exemple en IDENTIFIANT, puis le faire:

$("#dialogID").next(".ui-dialog-buttonpane button:contains('Confirm')")
              .attr("disabled", true);

Dans d'autres cas où l' :contains() peut donner des faux positifs, alors vous pouvez utiliser .filter() aime cela, mais c'est exagéré ici, puisque vous savez que votre deux boutons. Si c'est le cas dans d'autres situations, ce serait ressembler à ceci:

$("#dialogID").next(".ui-dialog-buttonpane button").filter(function() {
  return $(this).text() == "Confirm";
}).attr("disabled", true);

Cela empêcherait :contains() de la contrepartie d'une sous-chaîne de quelque chose d'autre.

49voto

Jérôme Points 306

Vous pouvez également utiliser le non documentée `` attribut :

7voto

Chris Pietschmann Points 13397

Les œuvres suivantes de dans les boutons, cliquez sur fonction :

1voto

Chris Laplante Points 18060

Un bouton est identifié par la classe `` . Pour désactiver un bouton :

À moins que vous créez dynamiquement la boîte de dialogue (ce qui est possible), nous connaîtrons la position du bouton. Donc, pour désactiver le bouton en premier :

La `` classe, c’est ce qui donne une touche ce joli style grisé.

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