2010-10-21 4 views
0

je suis chargement de certains fragments avec jquery avec le code suivantcharge plusieurs fragments à la fois avec jquery .load()

var box = $(this).closest(".product-contain").children(".title:first"); 
box.load(url + " .maintitle", data); 
var box = $(this).closest(".product-contain").children(".detail:first"); 
box.load(url + " .alldetail", data); 

(je ne veux pas charger .Product-contenir tout à la fois, parce qu'une partie de il est édité par l'utilisateur au même moment)

mais il fait 2 requêtes au serveur pour le même contenu.

puis-je le faire en une seule fois?

merci!

Répondre

3

Vous pouvez faire un $.get() et charger le contenu où il vous va, comme ceci:

var pc = $(this).closest(".product-contain"); 
$.get(url, data, function(html) { 
    var resp = $(html); 
    pc.children(".title:first").html(resp.find(".maintitle")); 
    pc.children(".detail:first").html(resp.find(".alldetail")); 
}); 

Cela peut paraître un peu bizarre, mais .html() avec un objet jQuery est un raccourci pour .empty().append().

+1

Très bien. Pour être sûr que vous avez réellement du HTML, réglez le dataType jQuery.get() en HTML. –