2013-06-11 2 views
0

Avant de rejeter cette question comme étant déjà résolue, veuillez jeter un coup d'œil. J'ai mis en place à peu près toutes les solutions fournies dans les autres postes, sans succès. Le modal s'ouvre parfaitement la première fois, mais échoue la deuxième fois.La boîte de dialogue Jquery ne s'ouvre pas une deuxième fois

Modal est appelé à partir d'ici:

function myFx(id){ 
    $.ajax(
    { 
     type: "POST", 
     url: "/mypath", 
     data: { ZoneId: id }, 
     dataType: "json", 
     success: function (data) { 
     $('#dialog-form').dialog('open'); 
     } 
    }, 
    error: function (response) { 
    } 
    }); 
} 

La fonction est à l'intérieur $ (document) .ready(). Pas d'erreurs sur firebug. En cliquant sur un bouton, j'appelle le myFx() et passe l'identifiant: <button onclick="myFx(id)" />.

Et a été initialisées comme ceci:

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

S'il vous plaît aider.

+1

Veuillez préciser: où votre code est-il exécuté? – kapsi

+0

Il est trop difficile de comprendre ce que vous entendez par "il échoue la deuxième fois". Peut-être que c'est le POST qui échoue. Faire un [JS Fiddle] (http://jsfiddle.net) qui démontre le problème. –

+0

@Omar, s'il vous plaît, au moins 2 caractères d'indentation sinon 3 ou 4. 1 indentation de caractères sont trop difficiles à suivre pour mes yeux fatigués. –

Répondre

0

vous devez mettre la ligne ci-dessous avant l'appel ajax.

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