我对jquery ui对话框有一个奇怪的问题。 我有一个渲染页面可以显示2种类型的对话框(确认,错误)。
如果我开始弹出错误对话框,然后确认,它们按预期工作。
但如果我开始弹出确认,那么错误,错误的对话框没有出现。 我调试javascript但没有错误。
我欢迎任何回复如何进行故障排除/调试。
对话框的javascript:
function ConfirmationDialog(strMsg, actionYes) {
var dlg = $("#ConfirmationDialog");
dlg.html(strMsg);
dlg.dialog({
resizable: false,
height: 300,
width: 600,
modal: true,
buttons: {
Yes: function () {
$(this).dialog("close");
if (actionYes != null) actionYes();
},
No: function () {
$(this).dialog("close");
}
}
}).parent().addClass("ui-state-highlight");
}
function ErrorDialog(strMsg) {
var dlg = $("#ErrorDialog");
dlg.html(strMsg);
dlg.dialog({
resizable: false,
height: 300,
width: 600,
modal: true,
buttons: {
Close: function () {
$(this).dialog("close");
}
}
}).parent().addClass("ui-state-error");
}
html:
<script src="/xx/Scripts/jquery-1.8.2.js"></script>
<script src="/xx/Scripts/jquery-ui-1.8.24.js"></script>
<script src="/xx/Scripts/jquery.unobtrusive-ajax.js"></script>
<div id="ConfirmationDialog" title="Confirmation" />
<div id="ErrorDialog" title="Error" />
<a href="javascript:ErrorDialog('err');">Err</a>
<a href="javascript:ConfirmationDialog('cc',null);">Confirmation</a>
答案 0 :(得分:0)
我尝试了它并且在我将结束标记添加到div之后它起作用了:
<div id="ConfirmationDialog" title="Confirmation"></div>
<div id="ErrorDialog" title="Error"></div>
我还有一个关于你的javascript的建议。因为您选择了带
的对话框var dlg = $("#ErrorDialog");
你不必做
$(this).dialog("close");
这将不必要地创建另一个对象。只是做
dlg.dialog("close");