我将局部视图(_AddExp)显示为用于添加新项目的模态弹出内容。 关闭modalpopup后,我试图再次显示Modalpopup添加新项目但modalpopup没有打开。我收到错误TypeError:$(...)。modal不是$('#AddExpModal')行的函数.modal('show');
<p>
<button onclick="AddExperience()" class="btn btn-primary">Add experience</button>
</p>
function AddExperience(){
$('#AddExpModal').modal('show');
$("#AddExpInfo").load("/Account/ExperienceAdd/"+ @ViewBag.AccountId); //Loads the Partial view.
}
<div id="AddExpModal" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3>Add experience detail</h3>
</div>
<div class="modal-body" id="AddExpInfo">
</div>
<div class="modal-footer">
<button onclick="ClosePopup();" class="btn btn-primary">Close window</button>
</div>
//Code used after closing popup.
function ClosePopup(){
$('#AddExpModal').modal('hide');
$("#AddExpInfo").html("");
$("#ExperienceList").load("/Account/ExperienceList/"+ @ViewBag.AccountId);
}
在我添加新体验的部分视图(_Addexp.cshtml)中,我使用了Document.Ready事件和一些其他函数来POST FORM数据,这是不是第二次显示弹出窗口的原因吗?我该如何解决这种问题?问题?
答案 0 :(得分:2)
最终找到原因。在局部视图里面我正在加载jquery库的歌曲代码
在主页面中我也加载了jquery库,这就产生了问题 一旦我从局部视图中删除了jquery lib,所有似乎都完美无缺。
答案 1 :(得分:1)
模态功能需要加载bootstrap.js。由于某种原因,在关闭模态后它没有加载。
我怀疑这是由于您正在加载HTML并将其作为.load调用的一部分插入DOM。它可能是使用iframe吗?或者它可能会加载一个不加载bootstrap.js的局部视图?
验证.load完成后,仍然为包含按钮的视图加载bootstrap.js。
答案 2 :(得分:0)
如果您的#ExperienceList在您的模式中,则在您使用时删除它:
$("#AddExpInfo").html("");
jQuery无法加载#ExperienceList不存在。
可以吗?