Ich verwende jQuery UI 1.10 und die jQuery UI Tab Widget mit AJAX-Funktionen. Der von mir verwendete JavaScript-Code wird wie folgt angegeben (einfach):
$(".selector").tabs({
beforeLoad: function (event, ui) {
ui.panel.html("Loading...");
}
});
Wenn eine Registerkarte "Kopfzeile" angeklickt wird, möchte ich eine anzeigen Nachricht wird geladen (eine Textnachricht) in der Registerkarte "body", bis der Inhalt der Registerkarte vollständig AJAX geladen ist. Danach sollte die Lademeldung durch die abgerufenen AJAX-Daten ersetzt werden. Wie kann ich das machen?
Antworten:
0 für die Antwort № 1Funktioniert das nicht?
$(".selector").tabs({
beforeLoad: function (event, ui) {
//show msg
},
load: function (event, ui) {
//hide msg
}
});
0 für die Antwort № 2
Sie können dies tun, indem Sie:
- Definieren Sie die Funktion, mit der die Daten über AJAX foreach geladen werden.
- In den Registerkarten Rückruf für
show
undcreate
Sie rufen eine Funktion auf, die verwaltet, welche AJAX-Funktion aufgerufen wird, um den richtigen Inhalt zu laden. - Schließlich ändern Sie in Ihrer AJAX-Funktion zunächst Ihre HTML-Datei, um die Lademeldung anzuzeigen. Wenn die Anforderung abgeschlossen ist, können Sie sie entfernen.
Es ist ziemlich lang, aber Sie haben mehr Kontrolle darüber, was Sie tun möchten.
0 für die Antwort № 3
Das Beste, was ich getan habe, war genau das für Ajax-gesteuerte Tabs ... Ich hoffe, Sie werden diese Antwort lieben
$ ("# facilityTabContainer"). tabs ({ panelTemplate: "Laden ...", ausgewählt: 0, scrollbar: true, cache: false});
und Sie können sogar die panelTemplate in ändernjquery.ui.tabs auch so, dass alle Registerkarten in Ihrer Anwendung automatisch das "Laden von Text oder Bild" erhalten. und raten Sie, was auch das erste Problem beim Laden des Registers löst.