我有一个创建项目模型的视图,其中包含(除其他外)公司相关数据表。
我添加了一个执行 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/),以便用户能够从每个 < input > 的每行的一组选项中进行选择桌子。
我似乎无法在主视图中访问我的 AJAX 调用中的对应字段。我尝试在成功和完成功能上使用“filter()”和“find()”。
我可以将我的 javascript 代码放在部分视图中,但它会被复制,更不用说可能的 ID colisions =\
关于如何实现这一目标的任何想法?
编辑:
我相信我的观点中正确引用了所有内容:
@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>
编辑2:
在将结果附加到表后,我遵循了 Darin Dimitrov 的建议并将其添加到 ajax 成功回调中:
$('input.company-role-project-company', result).autocomplete({
...define source etc...
});
但是当我在输入字段中输入内容时,它的行为就像一个常规文本字段......在我使用 ajax 调用的过程中是否有问题:请求部分视图,将其附加到表中,使其成为自动完成?