Je viens tout juste de découvrir le pouvoir de jQuery. Juste une petite question.
Qu'est-ce qu'un remplacement pour onclick = "DeleteSomething ('THE ID NUMBER LOADED IN PORTE SERVER')"?
Y a-t-il même une façon de transmettre des informations personnalisées telles qu'un ID à un jquery onclick? Ou dois-je rester à l'ancienne?
Merci beaucoup!
Adam
J'utilise habituellement un rel = "" pour certaines données supplémentaires dont je pourrais avoir besoin en ajoutant au bouton ou à quoi que ce soit.
par exemple
<input class="btnDelete" rel="34" value="Delete" />
Alors jquery
$('.btnDelete').click(function() { DeleteMethod($(this).attr("rel")); });
Si vous collez l'ID de l'objet que vous souhaitez supprimer dans le paramètre rel, vous pouvez le faire de cette façon:
<script type="text/javascript> $('a.deleter').click(function(){ if($(this).attr("rel") != ""){ DeleteSomething($(this).attr("rel")); } }); </script> <a href="javascript:void(0)" rel="54" class="deleter">Delete Widget</a>
$(document).ready(function () { $('#selector').click(function() { //here goes your onclick code }); );
S'il vous plaît, postez un marquage pour plus d'aide.
De plus, vous devez lire les Principes de début des ressources jQuery , liés dans la page principale de la bibliothèque.
Dans jQuery, vous voudriez probablement faire quelque chose comme:
$('a').click(function(){ # code here });
Avec 'a' étant n'importe quel sélecteur que vous souhaitez utiliser pour trouver le bon lien.
En réponse à votre commentaire:
Probablement la meilleure façon, comme quelqu'un d'autre l'a mentionné, serait de fournir les données dynamiques dans l'un des attributs du lien:
<a rel="{id}" > $('a').click(function(){ deleteFunction($(this).attr('rel')); });
Au lieu de cela:
<button onclick="DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE')">
Faire cela:
<button id="thing"> <script> $(function() { $("#thing").click(function() { DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE'); } } <script>
Il serait beaucoup plus propre si vous le faites de cette façon:
<tag class="someclass" prop1="id from serverside" /> $('.someclass').click(function(){ var prop1 = $(this).attr('prop1'); //DeleteSomething(prop1) });
Utilisez le serveur pour remplacer {ID} par l'ID réelle.
HTML:
<form id="deleter"> <input type="hidden" name="id" value="{ID}" \> <input type="submit" value="Delete" rel="{ID}" \> </form>
JQuery:
$('form#deleter input[type="submit"]').click(function() { var id = $(this).attr('rel'); DeleteSomething(id); return false; }
N'oubliez pas d'implémenter la suppression du serveur-côté également pour les personnes qui n'ont pas Javascript activé!