2010-03-23 4 views
2

Используя следующую функцию JQuery/AJAX, я вызываю частичный вид, когда параметр изменен в combobox с именем «ReportedIssue», который также находится в частичном представлении. Он называется «tableContent».Обновить код с помощью JQuery/AJAX после частичного просмотра MVC

<script type="text/javascript"> 
    $(function() { 
     $('#ReportedIssue') 
     .change(function() { 
      var styleValue = $(this).val(); 
      $('#tableContent').load(
      '/CurReport/TableResults', 
      { style: styleValue } 
     ); 
     }) 
     .change(); 
    }); 
</script> 

Моя проблема в том, что после перехода на частичный вид я теряю ссылку на javascript. Я думаю, что я должен использовать JQuery «.live()», но я не уверен.

Вкратце, я хочу восстановить связь между моим JavaScript и моим полем со списком и после включения HTML-кода частичного просмотра.

Я надеюсь, что я веду себя достаточно ясно,

Аарону

ответ

2

Этот ответ осуждается см Mike's answer


Начиная с jQuery 1.4 вы можете использовать th e live обработчик с событием изменения. Просто измените свой код, чтобы работать с ним. Если вы застряли в более ранней версии jQuery, вам нужно повторно применить обработчик в обратном вызове AJAX.

$(function() { 
    $('#ReportedIssue').live('change', function() { 
     var styleValue = $(this).val(); 
     $('#tableContent').load( 
      '/CurReport/TableResults', 
      { style: styleValue } 
    ); 
    }) 
}); 
+0

спасибо! Я делал что-то вроде этого, но я не мог понять, как это правильно. –

0

Да, вы должны использовать в прямом эфире():

$('#ReportedIssue').live('click', function() { 
2

Поскольку .live() теперь устарел. Используйте .on(). Или, в моем обратном обращении к успеху, я просто сделал .load() $('#container').load('index.php', '#right'); Работал как шарм.

Смежные вопросы