【发布时间】:2014-08-24 18:04:36
【问题描述】:
我有一个具有以下布局的视图
父 View 由几个 PartialView 组成,如图所示。其中之一是一个列表,其中每个项目都有一个相应的编辑按钮,该按钮将项目加载到另一个 PartialView 中,但这是通过 ajax 加载到模式对话框引导程序中的。这部分工作正常。
我遇到的问题是没有执行与此模式的控件相关的脚本或 jquery 事件。例如 datepicker 小部件从不显示,无法捕获下拉列表的更改事件,或捕获表单的提交事件或提交按钮的单击事件。 所有脚本都放在主视图中。例如,这是模态提交的事件处理程序:
$(function () {
$('#myModal form').on('submit', function () {
console.log("okk");
clearErrors();
$.post($(this).attr('action'), $(this).serialize(), function (data, status) {
$('#myModal').modal('hide');
$("#details").html(data);
}).error(function (error, status, a, b) {
$('.modal-body p.body').html(error.responseText);
});
return false;
});
});
在我的 _Layout.cshtm 中,我包含了必要的脚本(我认为):
@Scripts.Render("~/js")
@Scripts.Render("~/bundles/globalization")
@RenderSection("scripts", required: false)
</div>
</body>
“~/js”在哪里:
bundles.Add(new ScriptBundle("~/js").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-migrate-{version}.js",
"~/Scripts/bootstrap.js",
"~/Scripts/bootstrap-datepicker.js",
"~/Scripts/jquery.validate.js",
"~/scripts/jquery.validate.unobtrusive.js",
"~/Scripts/jquery.validate.unobtrusive-custom-for-bootstrap.js",
"~/Scripts/locales/bootstrap-datepicker.es.js"
));
我的脚本和 jQuery 这个对话框可能有什么问题?到目前为止,网站中类似问题的指示对我没有用。
如果代码或插图无法理解,我会尽可能清楚地表达我的耳朵。谢谢
【问题讨论】:
-
调试 JavaScript 时会发生什么?例如
$('#myModal form')是否返回任何项目? -
@DavidTansey,我只是试图将脚本移动到部分,但我在萤火虫控制台中收到错误“$ is undefined”
-
@AlexeiLevenkov,该事件永远不会被执行:(
-
感谢@KyleGobel,让我问一下。不应该在 ParentView 中已经可以使用 jquery 吗?那里的所有脚本都可以正常工作。
-
@AlexeiLevenkov,我编辑了问题,请查看
标签: c# jquery ajax asp.net-mvc twitter-bootstrap