2011-03-26 4 views
0

J'ai écrit le code jquery suivant pour autoriser uniquement les nombres dans une zone de texte.Le code jquery ne fonctionne pas après la publication

$("[id$='txtPriority']").keydown(function (event) { 
       if (event.keyCode == 48) { 
        var value = $("[id$='txtPriority']").val(); 
        if (value == "") { 
         event.preventDefault(); 
         return; 
        } 
       } 
       else if (event.keyCode == 86 || event.keyCode == 118) { 
        event.preventDefault(); 
        return; 
       } 
       else { 
        $("[id$='txtPriority']").numeric(); 
       } 
}); 
}); 

Cela fonctionne bien, lorsque la page est chargée pour la première time.But après republier le code est working.What pourrait être la raison.

Répondre

3

Si vous modifiez quelque chose avec ajax, l'événement ne fonctionnera pas. Essayez d'utiliser la fonction en direct (http://api.jquery.com/live/)

 
$("[id$='txtPriority']").live('keydown', function (event) { 
+0

Je crains que je ne suis pas en utilisant Ajax à all.Its manipulation simple événement. – Tortoise

+0

Merci danip, ça marche pour moi – Tortoise

0

J'ai eu ce problème une fois et ce fut parce que je remplaçais le code html pour le formulaire dans la publication. Vous devez réinitialiser vos gestionnaires d'événements après avoir remplacé les commandes ou utilisez le gestionnaire .live() qui fonctionne même pour les éléments que vous ajoutez plus tard:

$("[id$='txtPriority']").live('keydown', function (event) { 
+0

Son fonctionnement maintenant.Merci Jason – Tortoise

+0

vous avez fourni la même réponse .. – danidacar

Questions connexes