【轉】bootstrap模態框(modal)使用remote方法加載數據,只能加載一次的解決辦法


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 使用腳本

 
        

 

[javascript]  view plain copy print ?
 
  1. $("#myModal").modal({  
  2.     remote: "page.jsp"  
  3. });  


但是這樣加載后,會有問題,modal數據只加載一次,如果要加載不同的數據,例如根據id查詢不同物品的詳細信息,modal的數據是不能更新的,即使傳的id值不同。其實解決辦法很簡單,只需要在加載下次數據前,將之前的加載的數據清除即可。

 

清除之前加載的數據,讓對話框能夠在每次打開時重新加載頁面

最簡單的方式就是監聽modal的hidden,當modal關閉時,即把數據清除即可:

[javascript] view plain copy print ?
 
  1. $("#myModal").on("hidden", function() {  
  2.     $(this).removeData("modal");  
  3. });  


也可以在每次打開對話框之前移除數據,效果是一樣的。

注:上面的代碼基於 Bootstrap v2,如果使用 Bootstrape v3,模態對話框的 HTML 和事件的寫法有一些不同,例如對於上面的 hidden 事件,要寫成:

 

[javascript]  view plain copy print ?
 
  1. $("#myModal").on("hidden.bs.modal", function() {  
  2.     $(this).removeData("bs.modal");  
  3. });  

 

參考:http://blog.csdn.net/a657941877/article/details/18145023


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM