2010-02-22 5 views
1

J'essaie d'utiliser la fonction de bascule, de changer l'arrière-plan et href d'un lien, jusqu'à présent, j'ai ce code,jquery bascule aide

$('a.loveIt').toggle(
     function() { 
     var url = $(this).attr('href'); 
     $.ajax({ 
      url:url, 
      type:"POST", 
      success:function(){ 
       //alert("hello"); 
       $('p#loveIt').append(
        "<a class='lovedIt' href='<?php base_url()."welcome/noMore/".$row['contentId'];?>'>Change It</a>" 
       ) 
       $('div#wrapper').append(
        "<div id='flashAdded'><p>The content has been added to your content</p></div>" 
       ) 
       $("#flashAdded").animate({marginTop:"0px"}, 1500); 
       setTimeout(function() {$("#flashAdded").animate({marginTop:"-46px"}, 1500);}, 2000); 
       $('.loveIt').removeClass('loveIt').addClass('lovedIt'); 
      } 
     }); 
     return false 
     }, 
     function() { 
     alert(id); 
      $(this).removeClass('lovedIt').addClass('loveIt') 
     }); 

La variable URL qui est définie dans la première fonction est 'welcome/loveThis/5' 5 est différent par article car c'est l'identifiant des articles, cliquez sur le lien J'enlève un cours et j'ajoute un cours, mais je dois aussi changer le lien href en 'welcome/noMore/5' (ou quel que soit l'identifiant peut-être).

Est-ce possible?

Répondre

2

Je pense que vous pouvez essayer

var link = $('.loveIt'); 
link.removeClass('loveIt').addClass('lovedIt').attr('href', link.attr('href').replace('loveThis', 'noMore')); 
0

, mais je dois aussi changer le lien href 'accueil/Nomore/5' (ou quel que soit le id peut-être).

$('.loveIt').removeClass('loveIt').addClass('lovedIt').attr('href', 'welcome/noMore/5'); 

Pour ajouter votre lien, il suffit d'ajouter .attr('href', 'welcome/noMore/5'); à elle.

0

Votre code PHP ne sera pas exécuté sur chaque requête AJAX, uniquement lorsque la page est envoyée au navigateur pour la première fois. Puisque tout ce que vous faites est de changer le texte "action", pourquoi ne pas simplement utiliser le remplacement de chaîne javascript?

$('p#loveIt').append( 
    "<a class='lovedIt' href='" + href.replace(/lovedIt/,'noMore') + "'>Change It</a>" 
); 
0

$ (this) .Find ('a'). Attr ('href' $ (this) .Find ('a'). Attr ('href'). '(Remplacer loveThis', » Pas plus'));

Remplace de les loveThis 'avec 'Nomore' sur un appariés éléments ...