2010-03-23 131 views
2

使用以下JQuery/AJAX函數當在名爲「ReportedIssue」的組合框中更改選項並且也在局部視圖中時調用局部視圖。它被命名爲「tableContent」。在使用MVC局部視圖之後使用JQuery/AJAX刷新

<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

謝謝!我正在做這樣的事情,但我似乎無法做到。 – 2010-03-23 21:47:41

0

是的,你應該用活():

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

因爲.live()現在已被棄用。使用.on()。或者,在我的成功回調中,我只是做了一個.load() $('#container').load('index.php', '#right');工作就像一個魅力。