2010-06-17 7 views
0

J'utilise jquery ajax. Le serveur renvoie un objet JSON et j'obtiens le tableau. Tout fonctionne très bien dans FF, bien sûr, mais en quelque sorte quand j'essaie d'utiliser cette syntaxe:IE: Passage de valeur de l'objet JSON à l'événement onClick

$('#edituserLink').attr("onClick","edit('"+user[0]['USER_ID']+"');"); 

la fonction onClick ont ​​l'habitude de la valeur comme argument. Pourquoi?

Répondre

1

Pourquoi ne vous utilisez la .bind() method norme?

$('#edituserLink').bind('click', function() { edit(user[0]['USER_ID']); }); 

Certaines personnes préfèrent la forme abrégée:

$('#edituserLink').click(function() { edit(user[0]['USER_ID']); }); 

mais personnellement je considère que comme un mauvais style. (Est-ce que le concept mauvais style existe même !? dans terminis Contradictio!)

+0

J'ai essayé votre solution et mon événement est vide: Edit User Kel

+0

Cela dépend de la disponibilité de 'user' au moment de lier ceci ... si ce n'est pas disponible, il y a un petit problème. Fermetures Est-ce que 'user' est une variable globale? Ensuite, vous pouvez utiliser 'window.user' au lieu de' user'. – MvanGeest

+0

l'élément est toujours disponible. Je viens de le cacher et de le montrer à certaines occasions. – Kel

0

au lieu d'utiliser l'événement onClick, utilisez l'événement click() jQuery qui est entièrement multi-navigateur compatible:

$('#edituserLink').click(function() { 
    edit(user[0]['USER_ID']); 
}); 
Questions connexes