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調用打開一個新的觀點而不是局部的。也許其中一個是不必要的或者是什麼?
* 「其次,... *」 更改訂單實際上可能導致他們錯誤由於缺少依賴關係,取決於你所做的改變。就你的主要問題而言,刪除'$(function(){})'不應該神奇地使某些東西開始工作,但如果它沒有它的工作,沒有理由在代碼中使用ajax加載'$(function(){})'是沒有意義的,儘管它不應該影響代碼是否成功運行。 –
謝謝你的回答e關於爲什麼在代碼中使用ajax加載的$(function(){})沒有意義的簡短解釋? –
$(function(){})在DOM準備就緒後執行function(){}。在DOM準備好之前,ajax調用不太可能完成。 –