http://blog.csdn.net/coolcaosj/article/details/38369787
bootstrap的modal中,有一個remote選項,可以動態加載頁面到modal-body中
有兩種方法,一種是使用鏈接,另一種就是使用腳本。
1 使用鏈接
<a href="user/userDetail.jsp" data-toggle="modal" data-target="#myModal">打開對話框</a>
當點擊該連接時,userDetail.jsp的內容就可以動態的加載到div.modal-body中。當然這里的連接也可以是action
2 使用腳本
- $("#myModal").modal({
- remote: "page.jsp"
- });
但是這樣加載后,會有問題,modal數據只加載一次,如果要加載不同的數據,例如根據id查詢不同物品的詳細信息,modal的數據是不能更新的,即使傳的id值不同。其實解決辦法很簡單,只需要在加載下次數據前,將之前的加載的數據清除即可。
清除之前加載的數據,讓對話框能夠在每次打開時重新加載頁面
最簡單的方式就是監聽modal的hidden,當modal關閉時,即把數據清除即可:
- $("#myModal").on("hidden", function() {
- $(this).removeData("modal");
- });
也可以在每次打開對話框之前移除數據,效果是一樣的。
注:上面的代碼基於 Bootstrap v2,如果使用 Bootstrape v3,模態對話框的 HTML 和事件的寫法有一些不同,例如對於上面的 hidden 事件,要寫成:
- $("#myModal").on("hidden.bs.modal", function() {
- $(this).removeData("bs.modal");
- });