2010-11-25 3 views
1

Ich benutze die JQuery load-Methode, um ein HTML-Fragment von einer externen Seite abzurufen. Ich rufe dann sofort diese Seite erneut an, um ein anderes Fragment zu erhalten. Das funktioniert, scheint aber verschwenderisch.Wie verwende ich JQuery laden, um zwei Datensätze in einem einzigen gehen zu erhalten

Kann jemand einen besseren Weg vorschlagen?

$('#basket').load('loadCart.php #cartContents', function() { 
    $("#basket").slideDown("slow"); 

}); 

    $('#cartBar p').load('loadCart.php #cartHeading'); 

Antwort

0

kann man einfach nicht verwenden, um den „“ Operator in der Auswahl mehr Elemente auswählen?

0

Die Art, wie ich dieses Problem umgehen kann, verwendet die $ .ajax-Methode und umfasst das Abrufen der gesamten HTML-Antwort. Ich parse den HTML-Code mit $ (r), damit jquery seine üblichen Selektorfunktionen verwenden kann. Die Ich habe die gewünschten Teile in Variablen gespeichert und sie in die entsprechenden Container-Elemente eingefügt.

$.ajax({ 
    type:'post', 
    url:'yourFile.php', 
    success: function(r){ 
     var element1 = $(r).find('#element1').html();//get the contents of #element1 
     var element2 = $(r).find('#element2').html();//get the contents of #element2 

     $('#container1').html(element1);//put html in container1 
     $('#container2').html(element2);//put html in container2 
    } 
}); 

Hoffe, das hilft Kumpel!

W.

+0

Hinweis, dass anstelle des DOM HTML kollabiert, und es dann wieder Wiederaufbau, können Sie die '.replaceWith()' Methode verwenden. Richten Sie das gesamte Element und nicht den Container aus, oder ersetzen Sie einfach den gesamten Container. z.B. '$ ('# container1'). replaceWith ($ (r) .find ('# container1'));' (besser nicht in einem solchen Einzeiler, sollten Sie zuerst prüfen, ob es existiert). Der andere Vorteil besteht darin, dass Sie Änderungen daran vornehmen und Informationen daraus abrufen können, bevor Sie sie zum DOM hinzufügen. – Orbling

+0

Das sieht aus wie es funktionieren sollte aber es ist nicht. Ich habe versucht, die Werte element1 und element2 zu alarmieren und sie zeigen NULL an. Wenn der Wert für r angezeigt wird, wird der gültige HTML-Code angezeigt, den ich erwarte. Irgendeine Idee? – poleposters

Verwandte Themen