JQuery对话框帮助
因此,我的UI上有一个按钮,用于调用此Javascript函数:JQuery对话框帮助,jquery,html,jquery-dialog,Jquery,Html,Jquery Dialog,因此,我的UI上有一个按钮,用于调用此Javascript函数: function OpenHistory(transactionId, spanThatWasClicked) { $.ajax({ type: "POST", url: "<%= Url.Action("ViewHistory", "Indications") %>", data : { transactionId
function OpenHistory(transactionId, spanThatWasClicked)
{
$.ajax({
type: "POST",
url: "<%= Url.Action("ViewHistory", "Indications") %>",
data : { transactionId : transactionId },
success: function(data) {
$("#history").html(data);
$("#history").dialog({
modal: true,
resizable: false,
title: "Valuation History",
width: 850,
height: 500,
autoOpen: true,
buttons: { "Close": function () { $(this).dialog("close"); } }
});
}
});
}
函数OpenHistory(transactionId,单击的跨度)
{
$.ajax({
类型:“POST”,
url:“”,
数据:{transactionId:transactionId},
成功:功能(数据){
$(“#历史”).html(数据);
$(“#历史”)。对话框({
莫代尔:是的,
可调整大小:false,
标题:“估价历史”,
宽度:850,
身高:500,
自动打开:对,
按钮:{“关闭”:函数(){$(this).dialog(“关闭”);}
});
}
});
}
#history
它的设置在页面上就像这样:
我第一次点击它——调用AJAX,打开对话框,一切看起来都很完美
关闭对话框
$("#history").dialog({
modal: true,
resizable: false,
title: "Valuation History",
width: 850,
height: 500,
autoOpen: true,
buttons: { "Close": function () { $(this).dialog("close"); } }
});
第二次点击时,什么也没发生。它进行AJAX调用和所有操作,但屏幕上没有显示任何对话框
刷新页面
它会像上次一样,只在第一次单击时再次工作
这是一种奇怪的对话吗
谢谢。我想这是因为在后续调用中,
自动打开
未触发时,对话框已经创建。尝试在ajax调用中添加$(“#history”)。对话框(“open”)
,看看这是否有帮助。
您可以添加一些优化,以确保不会两次调用原始对话框创建代码(某种布尔变量)您应该只调用一次来创建对话框
$("#history").dialog({
modal: true,
resizable: false,
title: "Valuation History",
width: 850,
height: 500,
autoOpen: true,
buttons: { "Close": function () { $(this).dialog("close"); } }
});
要打开对话框,请调用<代码>$(“#历史”)。对话框(“打开”)代码>
我建议在页面首次加载
autoOpen:false
时创建对话框,并根据需要打开它们尝试将成功代码更改为:
success: function(data) {
$("#history").html(data)
.dialog({
modal: true,
resizable: false,
title: "Valuation History",
width: 850,
height: 500,
autoOpen: true,
buttons: { "Close": function () { $(this).dialog("close"); } }
}).dialog('open');
}
这样,它将通过对话框('open')
调用确保其打开