いつでも変更できる動的コンテンツをロードする方法が必要です。 Bootstrap documentation
<a data-toggle="modal" href="remote.htm" data-target="#modal">Click me</a>
jQueryの。loadを使用しているのは、コンテンツの読み込みのみonceです。モーダルコンテンツdivにコンテンツを注入します。前述のように、このモーダルの内容はいつでも変更できるため、別の方法が必要です。何か案は?
TL; DR-モーダルが1回ではなく開くたびに動的コンテンツ(リモート)を読み込むメソッドを探しています(デフォルトBootstrapモーダル)。
ユーザーが遅延を許容できる場合は、showイベントが発生するたびにコンテンツをリロードします。
$('#modal').on('show.bs.modal', function(){
$.get("remote.htm", function(data){
$('#modal').find('.modal-content').html(data);
})
})
必要に応じてエラー処理とパラメーターを追加します
次を使用して、モーダルのキャッシュを適切にクリアできます。
$('#your-modal').removeData('bs.modal');
https://github.com/twbs/bootstrap/pull/7935#issuecomment-21166069 を参照してください
おそらく、モーダルのhidden.bs.modal
イベントのイベントハンドラーでこれを実行する必要があります。
おそらく、最初にdata-remote
を使用する代わりに、クライアント側のテンプレートと必要なデータを読み込むための小さなカスタムJavaScriptを使用する方が良いでしょう。特にBootstrapはremote
モーダルオプションを廃止しました以来。
この男には、汚いが機能するソリューションがあります: http://www.whiletrue.it/how-to-update-the-content-of-a-modal-in-Twitter-bootstrap/
<a data-toggle="modal" href="remote.html" data-target="#modal">Click me</a>
になる:
<a href="javascript:$('#modal .modal-body').load('remote.html',function(e){$('#modal').modal('show');});">Click me</a>