我有一個視圖來創建包含(除其他外)公司相關數據表的項目模型。在AJAX加載的部分視圖(MVC4)上使用自動完成(JQuery)
我已經添加了一個按鈕,確實AJAX調用,以檢索的局部視圖,並將其添加到該表:
$("#addCompanyRoleProject").click(function() {
cache: false,
$.get('CompanyRoleProjectEntryRow', function (result) {
$("#companyTable").append(result); // Add the row to the table
}, "html").done(function (result) {
});
return false;
});
局部視圖是一個< TR>在至極的< TD之一>的具有輸入字段:
<input class="company-role-project-company" type="text" data-containerPrefix="@ViewData["ContainerPrefix"]" />
我想通過AJAX接收到的局部視圖內輸入字段是一個自動完成(http://jqueryui.com/autocomplete/),使得用戶能夠從一組選項每個<輸入選擇>爲桌子的每一排。
我似乎無法訪問主視圖中的AJAX調用通訊員字段。我試過在成功和完成函數上使用「filter()」和「find()」。
我可以把我的javascript代碼的局部視圖裏面,但隨後會被複制,更何況可能ID colisions = \
就如何實現這一目標的任何ideias?
編輯:
我相信我擁有的一切在我看來,正確引用:
@section Scripts {
@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
<<<< My JS code is here >>>>
}
而且在我的網頁的源代碼,我可以看到:
<script src="/Scripts/jquery-1.7.1.js"></script>
<script src="/Scripts/jquery-ui-1.8.20.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
EDIT 2 :
我跟着達林季米特洛夫的意見,並將此Ajax的成功回調,結果追加到表後:
$('input.company-role-project-company', result).autocomplete({
...define source etc...
});
但是,當我在輸入字段中鍵入一些,它的行爲就像一個普通的文本字段... 在我使用ajax調用的過程中是否存在錯誤:請求局部視圖,將它附加到表中,使其成爲自動完成?
這是一個很好IDEIA,但我得到:「類型錯誤:$(...)自動完成不是一個函數」上螢火蟲。你知道這個的原因嗎? 是的,Jquery庫被正確加載,因爲我在主視圖(部分視圖之外)中創建了自動完成功能。 – user1987392 2013-02-21 14:15:25
你參考過'jquery-ui'腳本嗎? – 2013-02-21 14:16:27
是的,如編輯所示。 – user1987392 2013-02-21 14:24:34