Обновить содержимое с помощью JQuery / AJAX после использования частичного представления MVC - PullRequest
2 голосов
/ 24 марта 2010

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

<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 частичного представления.

Надеюсь, я достаточно ясен,

Aaron

Ответы [ 3 ]

2 голосов
/ 24 марта 2010

Этот ответ устарел , см. Ответ Майка


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

$(function() { 
    $('#ReportedIssue').live('change', function() { 
      var styleValue = $(this).val(); 
      $('#tableContent').load( 
          '/CurReport/TableResults', 
           { style: styleValue } 
      ); 
    })
});
2 голосов
/ 29 июня 2012

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

0 голосов
/ 24 марта 2010

Да, вы должны использовать live ():

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