2009-02-01 11 views
2

J'essaie de passer un id href à charger() dans JQuery, je peux voir à partir de l'alerte l'id retourné # 960, donc je sais que la valeur de l'id passe je viens juste Je ne sais pas comment ajouter l'URL de chargement, bien le $ ("# refreshme _" + add_id) est la partie importante, je l'utilise pour rafraîchir le div id unique dans la page assignée par la base de données pull, donc il serait pour id = "refreshme_960". Mon exemple simple qui ne fonctionne évidemment pas. Je veux rafraîchir la partie db select de la page montrant la nouvelle liste de voitures. Des idées?JQuery Passing Variable De href à load()

$(document).ready(function() 
{ 
    $(".add_to_favorites").livequery("click", function(event) 
    { 
     var add_id = this.id.replace("add_", ""); //taken from a.href tag 
     alert (id); 
     $.get(this.href, function(data) 
     { 
      $("#refreshme_"+add_id).load("http://www.example.com/car_list/"+add_id); 

<a class="add_to_cars" href="/car-add/960/add'}" id="add_960">Add Car</a> 
+0

J'espère que cela ne vous dérange pas, mais j'ai essayé de mettre un peu d'indendation là-bas pour améliorer la lisibilité. Je ne pouvais pas faire la tête ou la queue comme c'était ... –

+0

Quel est le problème, exactement? Est-ce que votre liste entière est en train de charger à l'intérieur de la voiture sélectionnée? Ou est-ce pas de chargement du tout? – strager

+0

Merci Outlaw, oui ma structure était un peu droite comme une flèche, lol! – dvancouver

Répondre

0

C'est un peu confus, êtes-vous avez 'add_to_favorites' comme déclencheur, puis add_to_cars dans l'élément html.

aussi garder votre remplacement id tous jqueryish, je pense que vous utiliseriez

 
$(this).attr('id', 'add_'); 

Je pense que ce que vous essayez de faire est que lorsqu'un utilisateur clique sur le lien « add_to_cars », qu'il ajoute que d'un réponse ajax dans les favoris? Bien que je puisse me tromper.

Je voudrais savoir pourquoi utiliser add_960 comme ID au lieu de seulement 960 (je sais que vous n'êtes pas censé utiliser les numéros comme ID par le faire tout le temps et n'ont pas encore eu de problème).

Vous pouvez faire

 
$('.add_to_cars')livequery('click', function(event){ 
    var request=$(this).attr('id'); 
    $.ajax({ 
      type: GET, 
      url: "http://www.example.com/car_list/"+request, 
      success: function(response){ 
       $('.add_to_favorites').append(response) 


     } 
}); 
}); 

ou quelque chose comme ça. encore une fois, pas tout à fait sûr de ce que vous essayez de faire.

1

Vous utilisez append() dans cette ligne

$('#favorite-listings').append(response); 

Quelle est la raison pour laquelle vous obtenez de nouveaux résultats ajoutés après les anciens. Changez cette ligne à

$('#favorite-listings').html(response); 
+0

Cela a très bien fonctionné, merci! – dvancouver