Jquery对话框没有第二次打开

时间:2013-06-11 08:31:37

标签: jquery jquery-ui jquery-dialog

在将此作为已经回答的问题解雇之前,请查看。我已经实现了其他帖子中提供的几乎所有解决方案,没有运气。模态第一次完美打开,但第二次失败。

从这里调用模态:

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');
  }
});

请帮忙。

1 个答案:

答案 0 :(得分:0)

你需要在ajax调用之前加上以下行。

$('#dialog-form').dialog('open');