So blenden Sie Bootstrap modal mit javascript?

Habe ich die Beiträge gelesen hier, der Bootstrap-Website, und Gegoogelt wie verrückt, aber kann Sie nicht finden, was ich bin sicher, dass wird eine einfach Antwort...

Ich habe eine Bootstrap-modal, die ich offen aus einem link_to-helper wie diese:

<%= link_to "New Contact", new_contact_path, {remote: true, 'data-toggle' => 'modal', 'data-target' => "#myModal",  class: "btn btn-primary"} %>

In meinem ContactsController.create Aktion, ich habe code, der erstellt Contact geht dann aus, um create.js.erb. In create.js.erb habe ich einige Fehler-handling-code (eine Mischung aus ruby und javascript). Wenn alles gut geht, möchte ich schließen Sie den modal.

Dies ist, wo ich Probleme habe. Ich kann nicht scheinen, zu entlassen, der modal-wenn alles gut geht.

Ich habe versucht $('#myModal').modal('hide'); und hat dies keine Auswirkung. Ich habe auch versucht $('#myModal').hide(); die Ursachen der modal zu entlassen, lässt aber die Kulisse.

Jede Orientierung, wie Sie zum schließen des modalen und/oder zu entlassen, die Kulisse von innerhalb create.js.erb?

Bearbeiten

Hier das markup für myModal:

<div class="modal hide" id="myModal" >
  <div class="modal-header">
    <a class="close" data-dismiss="modal">×</a>
    <h3>Add Contact</h3>
    <div id="errors_notification">
    </div>
  </div>
  <div class="modal-body">
    <%= form_for :contact, url: contacts_path, remote: true do |f| %>  
      <%= f.text_field :first_name, placeholder: "first name" %>
      <%= f.text_field :last_name, placeholder: "last name" %>
      <br>
      <%= f.submit "Save", name: 'save', class: "btn btn-primary" %>
      <a class="close btn" data-dismiss="modal">Cancel</a>
    <% end %>
  </div>
  <div class="modal-footer">
  </div>
</div>
  • $('#myModal').modal('hide'); ist die korrekte syntax zu schließen/verbergen des modal mit id myModal (Sie können dies testen, auf der Bootstrap-Dokumentation Seite). Sind Sie sicher, Sie haben ein element mit dieser id auf Ihrer Seite? Auch was du versucht zu erreichen, mit diesem Aufruf? Ihre aktuelle Implementierung führt einen Ajax-request new_contact_path und gleichzeitig öffnet sich die modal mit dem Inhalt #myModal – ist es das, was Sie wollen?
  • Hallo, Julian. Ich geschrieben myModal markup oben und es ist in der Tat ein div mit der id myModal. Ich wieder versucht $('myModal').modal('hide') und immer noch nicht gut. HM. In Bezug auf was ich ' m versuchen zu erreichen, ich denke, es war vielleicht falsch zu verwenden, die link_to-helper. Ich habe ersetzt diese mit: <a data-toggle="modal" href="#myModal" class="btn btn-primary">Add Contact</a> da ich nicht wirklich brauchen, ein Anruf new_contact_path. Ich will nur die modal zu öffnen, und dann deal mit user-input. Vielen Dank für die Zeit nehmen, zu reagieren. Ich werde sehen, ob kann ich nicht lösen.
  • Ich denke, es ist nur ein Tippfehler, aber der call sollte $('#myModal').modal('hide');(es ist ein # fehlt in Ihrem Kommentar).
  • Meine schlecht für die Typisierung nicht kopiert, sondern aus dem tatsächlichen code. Der aktuelle code lautet: $('#myModal').modal('hide'). J
  • Können Sie versuchen, mit bootboxjs
InformationsquelleAutor jvillian | 2012-05-05
Schreibe einen Kommentar