首頁 > web前端 > H5教程 > 主體

解決Bootstrap只載入一次 remote 資料的問題

巴扎黑
發布: 2017-07-24 11:06:37
原創
1629 人瀏覽過
摘要: 前端框架Bootstrap 的模態對話框,可以使用remote 選項指定一個URL,這樣對話框在第一次彈出的時候就會自動從這個位址載入資料到.modal-body 中,但是它只會載入一次,不過透過在事件中呼叫removeData() 方法可以解決這個問題。

1. Bootstrap 模態對話方塊和簡單使用

 1 <div id="myModal" class="modal hide fade"> 2     <div class="modal-header"> 3         <button type="button" class="close" data-dismiss="modal">x</button> 4         <h3>对话框标题</h3> 5     </div> 6     <div class="modal-body"> 7         <p>对话框主体</p> 8     </div> 9     <div class="modal-footer">10         <a href="#" class="btn" data-dismiss="modal">取消</a>11         <a href="#" class="btn btn-primary" data-dismiss="modal">确定</a>12     </div>13 </div>
登入後複製

 

顯示效果與下圖相似:

 

可以使用按鈕或連結直接呼叫模態對話框,這是簡單的用法:

<button type="button" data-toggle="modal" data-target="#myModal">打开对话框</button><a href="#myModal" role="button" class="btn" data-toggle="modal">打开对话框</button>
登入後複製
 <br/>
登入後複製

這樣只能把靜態內容在對話框中顯示出來,使用對話框的remote 選項可以實現更強大的效果。

2. 使用 remote 選項讓模態對話框加載頁面到 .modal-body 中

有兩種方法,一種是使用鏈接,另一種就是使用腳本。

2.1 使用連結

<a href="page.jsp" data-toggle="modal" data-target="#myModal">打开对话框</a>
登入後複製

 

當點擊此連結時,page.jsp 的內容會被載入到對話方塊的.modal-body中,隨即顯示對話框。

2.2 使用腳本

$("#myModal").modal({
    remote: "page.jsp"
});
登入後複製

 

這段腳本的效果和使用連結是一樣的,當這段腳本執行後,page.jsp的內容會被載入到對話框的.modal-body 中,隨即顯示對話框。

這兩種方法的背後,都是 Bootstrap 呼叫了 jQuery 的 load() 方法,從伺服器端載入了 page.jsp 頁面。但這個加載只會發生一次,後面不管你點擊幾次鏈接,或者執行幾次腳本,哪怕改變傳遞給 remote 選項的值,對話框都不會重新加載頁面,這真是個讓人頭疼的事情。不過問題還是能夠解決的。

3. 移除數據,讓對話框能夠在每次打開時重新加載頁面

在搜索並查閱了相關文檔後,發現在對話框的hidden 事件裡寫上一條語句就可以了:

$("#myModal").on("hidden", function() {
    $(this).removeData("modal");
});
登入後複製

 

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

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

$("#myModal").on("hidden.bs.modal", function() {
    $(this).removeData("bs.modal");
});
登入後複製

以上是解決Bootstrap只載入一次 remote 資料的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!