2017-01-08 86 views
1

嗨,我正在處理bootstrap模態中顯示的彈出窗口。我創建其列在表像這樣的按鈕:按鈕對錶的每一行基於參數的引導模態動態遠程內容

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

所以遠程內容應根據$行[「身份證」]是不同的 - 它是從數據庫中的變量,該表是通過php回聲循環創建的。 問題是我的模式彈出窗口總是顯示基於第一個按鈕的內容,然後在關閉它之後,其他行中的其他每個按鈕都顯示相同的內容。它不會根據參數進行更改。我需要重新加載頁面,以在不同的按鈕上顯示更改的內容。有沒有一種方法可以做這項工作,所以表中的每個按鈕都會根據我的參數顯示正確的內容,而無需每次都重新加載頁面?

謝謝你的建議。

回答

0

做到這一點,最好的辦法就是添加自定義屬性按鈕和刪除按鈕從href屬性...讓與式按鈕按鈕,assing動態ID,以行創建類似下面

<button type="button" class = "sendbt btn btn-default" data-id="$row['id']"><b>Test</b></button> 
每個按鈕

現在添加點擊監聽器按鈕,找到它的數據ID,然後發送Ajax請求並更新模式內容與響應: 寫的jQuery發送的請求在您的測試,以test.php的頁面

$('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 ....!") 
} 

}); 
}); 

。 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; 
} 

它會顯示相關的內容相對於ID您發送的每個請求

+0

不知怎的,這僅適用於前兩個按鈕我點擊。第三個按鈕我點擊顯示黑色屏幕

效果。 – Matthew

+0

in your test.php print_r($ row);我認爲數據庫中不會再有數據 – Dani