2010-03-22 9 views
0

J'essaie d'exécuter .ajax et insérer un élément de données à partir du onClick d'un élément de la page. Quel est le meilleur moyen de le faire?Comment lancer jQuery onClick? Besoin de passer une variable à exécuter .ajax

Quelque chose comme ceci:

function grabinfo(foo){ 

     $.ajax({ 
     url: "infospitter.php", 
     method: "GET", 
     data: "id="+foo, 
     success: function(html){ 
     $(#showstuff).html(html); 
     } 
     }); 

} 

    <input onClick="javascript:grabinfo(18343)" /> 
// and on page each item will have this button input 

Répondre

2

Il est généralement préférable de garder votre javascript discret et hors du DOM.

<input type="button" value="18434"/> 

Dans votre fichier javascript:

$('input[type=button]').click(function(){ 
    $.ajax({ 
     url: 'infospitter.php', 
     method: 'GET', 
     data: 'id=' + $(this).attr('value'), 
     success: function(returnData){ 
      // Do something with returnData 
     } 
    }); 
}); 
0

Supprimez le "javascript:" de votre attribut onclick. Cela n'est nécessaire que lors de l'exécution de code en dehors d'un attribut d'événement javascript.

+0

Ce n'est pas un problème. JavaScript prend en charge l'étiquetage des blocs afin qu'il fonctionne correctement. –