2014-02-21 3 views
1

У меня есть этот выпадающий списокИзменения функции вызывается только при загрузке страницы

Sort by: @Html.DropDownListFor(model => model.SortBy, Model.LotSortings, "Relevance", new { @class = "form-control", @id="sort_ddl" }) 

и я хочу, чтобы вызвать метод прибудет действия (а не метод Ajax) всякий раз, когда я изменить выбор от одной опции к другому.

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

<script> 
    $('#sort_ddl').change(function() { alert('hi'); }) 
</script> 

Это дозвонились, но только на странице нагрузки, и в этот момент он не предупреждает. Его никогда не привлекают к изменению выбора.

Как я могу это решить?

ответ

1

Добавить свой метод в document.ready функция. Он добавит изменение event в элемент, когда DOM готов.

<script> 
    $(document).ready(function() { 
     $('#sort_ddl').change(function() { 
      alert('hi'); 
     }) 
    }); 
</script> 
1

Вы также можете попробовать:

<script> 
    $(document).ready(function() { 
     $('#sort_dll').on('change', function() { 
     alert('hi'); 
     }) 
    }); 
</script> 
1

Для динамически добавляемые используйте .on

<script> 
    $(document).ready(function() { 
     $('body').on('#sort_ddl','change' ,function() { 
      alert('hi'); 
     }) 
    }); 
</script> 
Смежные вопросы