2013-07-31 56 views
0

我在ASP.NET MVC 3的局部視圖,通過腳本:

<script type="text/javascript" > 
    $(function() { 
     $("#tagbox").autocomplete({ 
      source: "/Tag/GetTags", 
      minLength: 1, 
      select: function (event, ui) { 
       $("tagbox").val(ui.item.value); 
      } 
     }); 
    }); 
    </script> 

,當我在我的內容DIV加載(ε2)視圖,自動完成將無法正常工作,除非我刪除'$(function() {... })所以劇本是這樣的:

<script type="text/javascript" > 
     $("#tagbox").autocomplete({ 
      source: "/Tag/GetTags", 
      minLength: 1, 
      select: function (event, ui) { 
       $("tagbox").val(ui.item.value); 
      } 
     }); 
</script> 

但通過訪問網址加載它作爲新的視圖時,一切都運行得很好。

我也有我的主要觀點的引用:

<script src="http://static.jsbin.com/js/prod/jsbin-3.4.4.min.js"></script> 
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 
<script src="../../Scripts/jquery.unobtrusive-ajax.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> 

其次,當我改變基準之間的順序,我的AJAX調用打開一個新的觀點而不是局部的。也許其中一個是不必要的或者是什麼?

+0

* 「其次,... *」 更改訂單實際上可能導致他們錯誤由於缺少依賴關係,取決於你所做的改變。就你的主要問題而言,刪除'$(function(){})'不應該神奇地使某些東西開始工作,但如果它沒有它的工作,沒有理由在代碼中使用ajax加載'$(function(){})'是沒有意義的,儘管它不應該影響代碼是否成功運行。 –

+0

謝謝你的回答e關於爲什麼在代碼中使用ajax加載的$(function(){})沒有意義的簡短解釋? –

+0

$(function(){})在DOM準備就緒後執行function(){}。在DOM準備好之前,ajax調用不太可能完成。 –

回答

0

請按照下面的鏈接,將有關的jQuery $解釋清楚(函數(){}。

$(function(){}