【发布时间】:2013-06-11 08:31:36
【问题描述】:
在将此问题视为已回答的问题之前,请先查看一下。我已经实现了其他帖子中提供的几乎所有解决方案,但没有运气。模态第一次完美打开,但第二次失败。
从这里调用模态:
function myFx(id){
$.ajax(
{
type: "POST",
url: "/mypath",
data: { ZoneId: id },
dataType: "json",
success: function (data) {
$('#dialog-form').dialog('open');
}
},
error: function (response) {
}
});
}
函数在 $(document).ready() 中。萤火虫没有错误。在单击按钮时,我调用 myFx() 并传递 id:<button onclick="myFx(id)" />。
并且是这样初始化的:
var myModal = $('#dialog-form').dialog(
{
autoOpen: false,
modal: true,
height: 290,
width: 475,
buttons: {
'Save': function () {
$.ajax({
type: "POST",
url: $("#edit-book").attr('action'),
data: $("#edit-book").serialize()+'&eZoneId=' +$('#eZoneId').val(),
dataType: "text/plain",
success: function (response) {
var closeDialog = $('#dialog-form').dialog('close');
$("#grid").load('mypath/ #grid', function () {
$('tbody > tr:first')
.effect("highlight", {}, 2000);
});
},
error: function (response) {
alert(response);
$('#dialog-form').dialog('close');
}
});
},
Cancel: function () {
$('#dialog-form').dialog('close');
}
});
请帮忙。
【问题讨论】:
-
请更具体一点 - 您的代码在哪里执行?
-
很难理解“第二次失败”是什么意思。也许是 POST 失败了。创建一个 JS Fiddle 来演示问题。
-
@Omar,拜托,如果不是 3 或 4,至少要缩进 2 个字符。1 个字符缩进对我疲惫的眼睛来说太难了。
-
@OldPro 哦,对不起!会修复它。我不想让你感到疲倦;)
-
请确定,如果您的代码被执行 - 它应该在文档准备好后执行:使用 $(function(){ /* 你的代码 */ });第二个提示:如果你修改了对话框(#dialog-form),你必须再次设置对话框初始化器
标签: jquery jquery-ui jquery-dialog