Question
Je suis en train de mettre en œuvre une fonction simple à l'aide jqGrid, mais il ne semble pas fonctionner et je me demandais si quelqu'un a une explication.
Fondamentalement, une colonne de retour jqGrid (par JSON)
<a href="#" id="special">Click</a>
En dehors de la colonne, j'ai un auditeur jQuery qui est de la forme
$("#special").click(function () {
alert("hi");
});
Maintenant, quand j'ai exactement le même a href en dehors la colonne, l'alerte saute vers le haut. Il n'a pas, cependant, lorsque le code est à l'intérieur de la grille dans le cadre de JSON. Est-ce à attendre?
Merci.
FYI la réponse JSON est le long des lignes de
\u003ca href=\"#\" id=\"special\"\u003eClick\u003c/a\u003e
mais je doute que ce soit la question parce que si je fais
<a href="#" onclick="alert('Hi');">Click</a>
il fonctionne.
La solution 2
En fait, je l'ai donné cela comme un non-possibilité. Associez chaque élément à l'aide onclick
, mais ne vous attendez pas à travailler si vous essayez de lier un élément à l'intérieur de la grille en utilisant une fonction en dehors du réseau.
Autres conseils
Vous ne précisaient pas dans votre question si vous liez l'auditeur avant ou après la grille a été peuplée - si vous le mettre en place au préalable, il serait utile susceptible d'essayer d'utiliser la méthode .live, par opposition à. cliquez, pour vérifier qu'elle a pris si elle est chargée plus tard.
Par exemple:
$("#special").live("click",function () {
alert("hi");
});