2013-10-28 84 views
0

我有一個表,它使用jquery的.load函數來重新加載移動後的表中的所有數據。同時使用jquery加載和重新加載腳本的最佳方法

問題是,當表加載時,頁面上的外部JavaScript文件不再在表中使用。

要自己解決這個問題,我已經開始使用jQuery的.getScript。這有效(有時),但效果不佳。我認爲腳本需要很長時間才能加載,而表格會立即加載,導致腳本有時會變得混亂。

我也嘗試過使用getScript後仍然不能正常工作的函數。

這是我使用目前

$(function() { 
     $("#sortable").sortable({ 
      update: function(event, ui) { 
       serial = $('#sortable').sortable('serialize'); 
       $.ajax({ 
       url: "./menu-controller.php", 
       type: "post", 
       data: serial, 
       success: function() { 
        $.getScript("./menu-admin.js"); 
        $("#sortable").load("./menu-manager.php #menu-table"); 
      }, 
       error: function(){ 
        alert("A problem occurred when moving this menu item. Please try again or contact support."); 
       } 
       }); 
      }, 
     handle:'.move-item', 
     connectWith:'#menu-table', 
     placeholder: "highlight", 
     containment: "parent", 
     revert: true, 
     tolerance: "pointer", 
     items: 'tbody > *' 
     }); 
    }); 

具體是什麼,我們看的.sortable更新的「成功」。有沒有更好的解決方案呢?

我的最終目標是在表開始加載之前讓腳本完全加載。再次,我已經嘗試過使用getScript的函數,但這似乎不起作用。

我感謝您提供的任何建議,提示或解決方案。

回答

1

嘗試使用的get()只有一個回調這樣:

$.get('http://ajax.googleapis.com/ajax/libs/ext-core/3.1.0/ext-core.js', function(response){ 
    // Start table 
}); 
+0

使用不用彷徨似乎是一個好一點,謝謝! –