2017-01-08 6 views
1

こんにちは、私はブートストラップモーダルで示されたポップアップに取り組んでいます。私はこのような表に示されているボタンを作成しています:ブートストラップモーダルパラメータに基づく動的リモートコンテンツ

<button class = "sendbt btn btn-default" href="test.php?spz='.$row['id'].'" data-target="#myModal" data-toggle="modal"><b>Test</b></button> 

ので、テーブルのすべての行のボタンのリモートコンテンツが$行に基づいて異なるべきである[「ID」] - それは可変であり、データベースからとこのテーブルはPHPエコーループによって作成されます。 問題は、私のモーダルポップアップは、最初のボタンをクリックした後、閉じた後、他の行のすべてのボタンが同じ内容を表示していることを示します。パラメータに基づいて変更されていません。変更された内容を別のボタンで表示するには、ページをリロードする必要があります。この作業を行う方法はありますか?毎回ページをリロードせずに、テーブル内のすべてのボタンが自分のパラメータに基づいて適切な内容を表示するでしょうか?

ありがとうございます。

答えて

0

これを行うための最善の方法は、ボタンにカスタム属性を追加し、ボタンからhref属性を削除...タイプのボタンでボタンを作ることであり、次の

<button type="button" class = "sendbt btn btn-default" data-id="$row['id']"><b>Test</b></button> 
のような行で作成された各ボタンに動的なIDをASSING

はNow]ボタンをクリックしてリスナーを追加し、それをデータ-IDを見つけ、その後、AJAXリクエストを送信し、応答でモーダルコンテンツを更新: 書き込みjqueryのをあなたのテストでページに

$('body').on('click','.sendbt',function(){ 
    var data-id = $(this).attr('data-id'); 
     $.ajax({ 
     dataType : 'html', 
     'type': 'GET', 
     'data' : {id:data-id}, 
      'url' : 'test.php', 
      success : function(data){ 
      $('#myModal tbody-content').html(data); 
      $('#myModal').modal('show'); 
}, 
      error : function(){ 
     console.log("There is an Error ....!") 
} 

}); 
}); 

をtest.phpを要求を送信するため。 PHP

if(isset($_REQUEST['id'])){ 
    $query = mysql_query("select * from table_name where id=".$_REQUEST['id']); 
$row = mysql_fetch_array($query); 
$content = $row['your_attribute']; 
echo $content; 
} 

それはどういうわけか、これが唯一の私がクリックしてください最初の二つのボタンのために働く

+0

各要求にIDにあなたの送信をに関して関連コンテンツが表示されます。 3番目のボタンをクリックすると、黒い画面が表示され、

効果が表示されます。あなたのtest.phpの – Matthew

+0

のprint_r($行);私はデータベースにデータがないと思う – Dani

関連する問題