2013-05-07 15 views
1

У меня есть окно ввода, которое создается в бритве, используя Html.EditorFor.onchange event to html.editfor

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

Я хотел бы добавить событие изменения в этом окне, так что некоторый код будет срабатывать, если изменения значения.

Я попробовал этот JQuery:

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

Но я ничего не получаю.

У кого-нибудь есть идеи?

+1

Мое предположение является " person_Person_FirstName "Элемент DOM отображается после загрузки кода jquery. Поскольку элемент не существует в DOM, но ваш код jquery выше не будет работать. Попробуйте переместить код jquery после кода бритвы, или если вы уже сделали это, попробуйте использовать .on вместо: [Documentation] (http://api.jquery.com/on/) – Dropzilla

+2

Также попробуйте добавить свой выше jQuery к '$ (document) .ready (function() {//...above code here}); 'до конца вашего файла. – Dropzilla

ответ

0

Если фактический идентификатор этого оказанной элемента, то делает это должно работать:

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

Попробуйте этот код:

$(function() { 

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

}); 
0

добавление $(document).ready(function(){ //...above code here }) работал