2017-04-03 1 views
1

Ich habe Modal in Sicht für neue Datensatz in der Datenbank.Schließen modal auf AJAX-Erfolg (ASP.NET MVC)

Ansicht für sie in Teilansicht

Hier Code Sicht

<script src="~/Scripts/jquery-3.1.1.js"></script> 

Für AJAX ich diesen Code

<script> 
    $(document).ready(function() { 
     $('#save_quest').click(function() { 
     savequestion(); 
    }); 
}); 
    function savequestion() { 
     $.ajax({ 
      type: 'Post', 
      dataType: 'Json', 
      data: { 
       Question_new: $('#question').val(), 
       Answer: $('#answer').val(), 
       Preparing: $('#prepare').val(), 
       Retries: $('#retries').val(), 
        }, 
      url: '@Url.Action("CreateNewQuestion", "Questions")', 
      success: function (da) { 
       if (da.Result === "Success") { 
        $('#myModal').modal('hide') 
        //window.location.href = da.RedirectUrl; 

       } else { 

        alert('Error' + da.Message); 
       } 
      }, 
      error: function (da) { 
       alert('Error'); 
      } 
     }); 
    } 
mit

Ich brauche modal zu verstecken, wenn Aufruf AJAX Erfolgreich ist

Ich versuche, diese $('#myModal').modal('hide')

Hier mein Modal auf Prim ary Ansicht

<div class="modal fade" id="myModal" role="dialog" data-backdrop="false"> 
<div class="modal-dialog"> 

    <!-- Modal content--> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Modal Header</h4> 
     </div> 
     <div class="modal-body"> 
      @Html.Partial("~/Views/Questions/CreateQuestion.cshtml") 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
    </div> 

</div> 

Wie ich es auf AJAX Erfolg verstecken kann?

+1

Ihr Code scheint wie gut ist es ein Fehler in der Konsole? Überprüfen Sie diese Zeile, indem Sie den Debugger oder 'console.log()' 'da.Result ===" Success "' verwenden, was sie 'true' oder' false' zurückgibt – Curiousdev

Antwort

1

Sie können jede der folgenden Optionen in Ihrem Ajax-Erfolgsblock versuchen. Hoffentlich wird es dein Problem lösen.

 $("#myModal").modal('hide'); 
    OR 
     $('#myModal').modal('toggle'); 
    OR 
     $('#myModal').removeClass('show'); 
    OR 
     $('#myModal').modal().hide(); 
    OR 
     $("#myModal .close").click(); 
    OR 
     $("#myModal .close").trigger("click"); 
0

fand ich Lösung

Gerade

$('#myModal').hide();

0

Dies ist nicht die richtige Art und Weise schreiben müssen. $ ('# myModal'). Hide();

Der richtige Weg $ ("# myModal"). Modal ('verstecken');

Haben Sie versuchen bootstrap.js in Ihrer Seite hinzufügen? wenn nicht, bitte fügen Sie es in Ihre Seite ein und testen Sie es dann. Es sollte funktionieren.