Jquery 在mvc中使用ajax有时不会调用模态对话框
我正在使用ajax和分页显示模式对话框。我发现,当加载初始页面时,会调用modal dialog,这是一个使用Ajax的部分视图,但如果我单击下一页并添加新的DOM元素,那么有时当我单击操作链接时,只加载一个没有Ajax的简单部分视图,在调试modal dialog时不会加载它,假设我想要查看的记录的id是11,那么通过ajax它是11?==13844555,但是当调用普通的部分视图时,它只是ViewDetail?page=3。我正在使用以下jquery代码调用模态对话框。请建议问题所在。谢谢Jquery 在mvc中使用ajax有时不会调用模态对话框,jquery,asp.net,ajax,asp.net-mvc,asp.net-mvc-3,Jquery,Asp.net,Ajax,Asp.net Mvc,Asp.net Mvc 3,我正在使用ajax和分页显示模式对话框。我发现,当加载初始页面时,会调用modal dialog,这是一个使用Ajax的部分视图,但如果我单击下一页并添加新的DOM元素,那么有时当我单击操作链接时,只加载一个没有Ajax的简单部分视图,在调试modal dialog时不会加载它,假设我想要查看的记录的id是11,那么通过ajax它是11?==13844555,但是当调用普通的部分视图时,它只是ViewDetail?page=3。我正在使用以下jquery代码调用模态对话框。请建议问题所在。谢谢
$(function () {
$.ajaxSetup({
cache: false
});
$('.btnShowDialog').click(function () {
$('.ShowModalDialog').load(this.href,function () {
$('#ShowModal').modal({
backdrop: 'static',
Keyboard: true
}, 'show');
}),
return false;
e.preventDefault();
}););
用户2802591
如果您正在更改一些DOM元素,那么您可能正在以某种方式更改按钮。我不确定,因为我没有看到所有的代码
无论如何,如果这是真的,jQuery的click
方法就不能在动态DOM元素上执行。改为使用此块:
$(document).on('click', '.btnShowDialog', function () {
// code here
});
这将在动态DOM元素上执行函数。当然,如果您正在更新该按钮,或者在动态添加元素时以某种方式对其进行更改,那么这就是解决方案
最后缺少
}
)代码>这就是问题所在,或者在其他地方我错了,因为当我在最初加载的第一个页面上时,它工作正常。e未声明,需要从函数callback传入。我正在使用ajax加载下一个页面,并且没有调用链接上的单击事件。谢谢你的回答。。。。
$(function () {
$.ajaxSetup({
cache: false
});
$('.btnShowDialog').on('click',function (e) {
e.preventDefault();
$('.ShowModalDialog').load(this.href,function () {
$('#ShowModal').modal({
backdrop: 'static',
Keyboard: true
}, 'show');
}),
return false;
});
});