2010-05-24 4 views
1

Matin/Après-midi les gars. Ecriture de quelques shizz JQuery AJAX et se coincer un peu. J'ai le processus actuel d'appeler le fichier php parfaitement, c'est juste essayer d'obtenir le HTML sur la page pour changer comme je le veux. Je veux me débarrasser de l'un avec l'id de celui utilisé dans l'appel ajax etc, et le remplacer par le html passé à partir du fichier PHP. Le code est comme suit ...PHP/JQuery/AJAX, quelques problèmes de démarrage

$(".save_places").click(function() { 
    $.ajax({ 
    url: "{/literal}{$sRootPath}{literal}system/ajax/fan_bus.php", 
    type: "POST", 
    data: ({id : this.getAttribute('id')}), 
    dataType: "html", 
    success: function(msg){ 
     $(this).before(msg); 
     $(this).empty(); 
     alert(msg); 
    } 
    }); 
    return false; 
}); 

Et le HTML est assez simple;

<p class="links"> 
    <a href="#" class="save_places" id="bus_{$businesses.results[bus].id}_{$sMemberDetails.id}"><img src="{$sThemePath}images/save_places.png" alt="Save to My Places" /></a> 
    <a href="#"><img src="{$sThemePath}images/send_friend.png" alt="Send to a Friend" /></a> 
</p> 

Toutes les choses dans la fonction de succès est expérimentale écrasement de code, toute aide s'il vous plaît?

Merci comme toujours.

Répondre

3

Je pense que ce que vous êtes après est-.replaceWith(), comme ceci:

$(this).replaceWith(msg); 

Cela remplace le <a></a> avec le contenu de revenir dans msg.

Aussi, si vous êtes sûr que les éléments ont des ID, vous pouvez simplement faire ceci:

data: {id : this.id}, 
+0

Nick, les données raffinée: des choses fonctionne un régal, beaucoup plus propres, merci! Bien que le replaceWith ne semble pas fonctionner, il n'y a pas de changement à la balise , et aussi aucune erreur javascript:/Lors de l'utilisation de $ (this), il ne serait pas important qu'il y ait des charges d'autres class = "save_places" ? – Tom

+0

@thebluefox - Je ne suis pas encore complètement réveillé :) essayez ceci pour votre succès 'succès: $ .proxy (fonction (msg) {$ (this) .réplaceWith (msg);}, ceci)' –

+0

Boom c'est parti! Absolument spot sur mate, très apprécié. Et allez! Je suis déjà debout depuis 6 heures! – Tom

1
linksPara.replaceChild(newElements, oldAtag); 
Questions connexes