programmatisch eine Schaltfläche in einem jquery-ui-Dialog deaktivieren, bis der Ajax-Aufruf abgeschlossen ist?

8

Ich benutze jquery ui dialog , und einer der Buttons verursacht einen Ajax-Aufruf, der ein paar braucht Sekunden, also möchte ich die Schaltfläche deaktivieren, nachdem ich darauf geklickt habe, bis der Ajax-Aufruf zurückkehrt (dann werde ich es aktivieren).

Beim googlen sehe ich ein paar andere, die diese Frage stellen, aber die Antworten scheinen sehr veraltet und hacky (basierend auf sehr alten Versionen von jquery ui). Ich hatte also gehofft, dass es jetzt einen eleganteren Weg gibt, dies zu tun.

Wie kann ich eine Schaltfläche in einem jquery ui-Dialog programmatisch deaktivieren oder aktivieren?

    
leora 21.04.2014, 01:58
quelle

4 Antworten

7

Ich denke, das ist, was Sie suchen:

  • die gedrückte Taste wird deaktiviert
  • Eine verzögerte Zusage wartet, bis der ajax() -Aufruf abgeschlossen ist
  • dann verzögert die Aktion die Schaltfläche
  • wieder

::

%Vor%     
Dave Alperovich 25.04.2014, 20:19
quelle
7

Verwenden Sie dies:

%Vor%

Demo anzeigen: Ссылка

in diesem die Taste programmatisch nach 3 Sekunden deaktiviert.

    
ReNiSh A R 24.04.2014 11:50
quelle
5

Sie sollten in der Lage sein, die Schaltfläche vom Ereignisargument auf die Rückruffunktion der Schaltfläche zu setzen und sie zu deaktivieren. Anschließend speichern Sie die Schaltfläche in einer Variablen und aktivieren sie erneut im Callback zur Ajax-Anfrage.

Zum Beispiel mit HTML:

%Vor%

Sie können Folgendes tun:

%Vor%

Die angeklickte Schaltfläche ist deaktiviert, während die Ajax-Anfrage ausgeführt wird, und wird wieder aktiviert, wenn sie beantwortet wird (Sie sollten wirklich eine Fehlerbehandlungsroutine sowie eine Kopie hinzufügen). Ich habe den Zähler hinzugefügt, um es zu illustrieren - Klicken, während die Schaltfläche deaktiviert ist, tut nichts.

Sehen Sie, wie es in dieser Geige funktioniert

    
Adam 25.04.2014 20:51
quelle
1

Sie können die Schaltfläche, die Sie ändern möchten, so finden:

%Vor%     
Tough Coder 25.04.2014 21:29
quelle