2013-05-07 6 views
1

J'ai une boîte de saisie qui est créée dans le rasoir en utilisant Html.EditorFor.événement onchange à html.editfor

@Html.EditorFor(model => model.person.Person.FirstName)

Je voudrais ajouter un événement de changement à cette case afin que du code déclenchera si les changements de valeur.

J'ai essayé jquery:

$('#person_Person_FirstName').change(function() { 
    alert($(this).val()); 
}).change(); 

Mais je ne reçois pas quoi que ce soit.

Quelqu'un a-t-il des idées?

+1

Ma conjecture est le " person_Person_FirstName "L'élément DOM est rendu après le chargement du code jquery. Puisque l'élément n'existe pas dans le DOM, votre code jquery ci-dessus ne fonctionnera pas. Essayez de déplacer le code jquery après le code du rasoir, ou si vous avez déjà fait cela essayez d'utiliser .on à la place: [Documentation] (http://api.jquery.com/on/) – Dropzilla

+2

Essayez également d'ajouter votre jQuery ci-dessus à '$ (document) .ready (function() {//...above code here}); 'à la fin de votre fichier. – Dropzilla

Répondre

0

Si tel est l'identifiant réel de cet élément rendu, faisant alors cela devrait fonctionner:

jQuery(function($) { 
    $('#person_Person_FirstName').change(function() { 
    console.log(this.value); 
    }).change(); 
}); 
3

Essayez ce code:

$(function() { 

    $(document).on('change','#person_Person_FirstName', function() { 
     alert($(this).val()); 
    }); 

}); 
0

ajoutant $(document).ready(function(){ //...above code here }) travaillé