2010-04-16 7 views
1
<script type="text/javascript"> 
$(document).ready(function() { 
    $("a").click(function() { 
     $("#results").load("jquery-routing.php", { pageNo: $(this).text(), sortBy: $("#sortBy").val()}); 
     return false; 
    }); 
});  
</script> 

    <div id="results"> </div>  
<a href="jquery-routing.php?p=1">1</a> 
<a href="jquery-routing.php?p=2">2</a> 

ce code fonctionne très bien, seul problème que quand je le lance tous mes liens un href cessent de fonctionner! Les liens deviennent appels jquery ajax .. pourquoi?problème jQuery, jQuery reprend tous les liens à la page

+0

Si votre intention est d'exécuter chaque fois qu'un lien est cliqué cette charge(), puis Lyon est à droite; sinon, tout le monde a raison :) (probablement) – harpo

Répondre

0

Pour cibler des liens spécifiques, utilisez la balise id ou class sur vos balises d'ancrage. E.g.

<a class="link1" href=""></a> 
<a id="link2" href-""></a> 

Notez que les tags d'identification sont uniques dans une page et ne peuvent être utilisés qu'une seule fois. référence ces liens dans jQuery en utilisant:

$('a.link1').click(function() {} 
$('#link2').click(function() {} 

ou vous pouvez combiner les deux:

$('a.link1, #link2').click(function() {} 

Ce que vous devez faire est de attribuer un identifiant ou une étiquette de classe du lien qui appellera la demande ajax. Par exemple. <a class="ajax" href="">ajax</a> et en le référençant avec $('a.ajax').click(function() {}

+0

Cela est nécessaire pour remplacer le comportement de suivi de liaison par défaut avec l'appel ajax souhaité à la place. – Tom

+0

Corrigé. Merci Tom. Mal interprété la question de vick. :) – Lyon

1

Vous êtes sélecteur $("a") correspond à tous les <a ...> balises, vous devez changer quelque chose de plus précis:

$("a#someid") 
$("a.someclass") 
$("div#somecontainer a") 
0

Votre réglage de l'événement onclick de toutes les balises d'ancrage sur la page. Essayez seulement de sélectionner le lien que vous voulez au lieu du $ ("a") plus général

0

Votre sélecteur $ ("a") indique tous les hiperlink dans votre page.

Vous devrez peut-être donner un identifiant spécifique à hiperlink où vous voulez que votre appel ajax fonctionne, puis changer le sélecteur en fonction de cela.

ex:

<a id= "my-link" href="" >ddd</a> 

$("a#my-link").click() 
+0

cela n'a pas fonctionné très bien? – vick

+0

ok, cela a bien fonctionné! 1 comment puis-je le faire charger la première page par défaut? – vick

+1

Je pense que les classes seront une meilleure idée que Id, car il a plusieurs liens hypertexte –

Questions connexes