2012-09-09 15 views
5

私はループによってX回生成された次のリンクを持っているとしましょう。モーダルを使用して動的URLを読み込み

<a class="btn" data-toggle="modal" data-target="#view_more" href="/item/view/<?php echo $item_id; ?>">Launch Modal</a> 

ここには、モーダルを開始するJSスクリプトがあります。

$(document).ready(function() { 
    $('#view_more').modal({ 
     remote: '/item/view/1', 
     show:false 
}); // Start the modal 

remote URLがハードコードされたときにそれは動作しますが、私はそれに何が渡されるかに応じて、動的にしたいと思います。

答えて

9

モーダルプラグインはとても本当に(手動でAJAXを自分で行うよりも、他の)モーダルのリモートコンテンツを変更する唯一の方法は、別の呼び出しを行う前に、それを破壊することで、それのコンストラクタでload()方法を実行します。

$('#view_more') 
    .removeData('modal') 
    .modal({ 
    remote: someURL, 
    show: false 
    }); 

類似の投稿への回答でさらに詳しい情報があります:Twitter bootstrap remote modal shows same content everytime

+0

[OK]しかし、私は正しいURLを 'remote'フィールドに渡しますか?私は複数のリンクを持っている場合、彼らはそれぞれ独自のURLを呼び出す。 – luckytaxi

+1

リモートURLをアンカーの 'href'属性に含める場合、モーダルプラグインは初期化時に' remote'値としてそれらを自動的に使用します。問題は、次回のクリック時に再初期化するためにモーダルオブジェクトを毎回破棄する必要があることです。私がリンクしている他の答えで提案したオプションは、** hidden **イベントが発生したときにモーダルオブジェクトを破壊することです。 – merv

+0

私はそれを得ました、私は 'href'が自動的に渡されることを知りませんでした。あなたのソリューションは完璧に動作します、ありがとう! – luckytaxi

関連する問題