2009-06-01 38 views
23

Tôi muốn đóng một cửa sổ Simplemodal từ một hàm JavaScript được gọi tự động sau khi biểu mẫu được gửi và kết quả đã được nhận lại (AJAX), sử dụng ASP.Net MVC. Làm thế nào để đóng một jQuery Simplemodal?Làm thế nào để bạn đóng một jQuery Simplemodal?

tôi đã mở nó theo cách này:

$("#popup").modal() 

Trả lời

66

Bạn có 2 lựa chọn:

1) Đặt lớp close (simplemodal-đóng) trên một phần tử trong dữ liệu đa phương thức của bạn và SimpleModal sẽ tự động liên kết các chức năng gần với sự kiện click vào phần tử đó.

Lấy ví dụ trên, bạn muốn:

<div id="foo" style="display:none"> 
    <p>Form HTML</p> 
    <span class="simplemodal-close">Close</span> 
</div> 

2) Khi bạn muốn để đóng hộp thoại programatically, hãy gọi:

$.modal.close(); 

HTH!

-Eric (tác giả SimpleModal)

+0

CDN cho css phương thức đơn giản ở đâu? Tôi đã tìm thấy chỉ CDN cho * .js của phương thức đơn giản: https://cdn.jsdelivr.net/simplemodal/1.4.4/jquery.simplemodal.min.js – FrenkyB

+1

Cảm ơn Eric vì một công cụ tuyệt vời. – FrenkyB

7

Chỉ cần gọi gần.

$("#popup").close(); 

Nếu bạn đang thực hiện việc hoàn thành ajax, bạn cần phải thêm gọi lại. Bạn có thể muốn kiểm tra thất bại.

var foo = $("#popup").modal(); 

$.ajax({url:url, success:function(){ 
    foo.close(); 
}}); 
+0

làm việc này cho tôi :) cảm ơn – gfivehost

1
$.modal.close(); 

hoặc bạn có thể sử dụng sau lệnh

setTimeout('goto_previous_page()', 1000); 
4

Nếu không ai trong số các giải pháp trên làm việc, bạn cũng có thể thử để kích hoạt sự kiện click của đóng cửa (miễn là nó được đặt bên trong phần tử popup).

$(".simplemodal-close").trigger("click"); 

hoặc không làm như vậy, bằng Javascript.

document.getElementById('closeModalButton').click(); 
+0

Cảm ơn, điều này đã làm việc cho tôi. – Matheno

Các vấn đề liên quan