2012-11-03 56 views
0

已經嘗試了幾個小時來更新我給出的代碼,並且沒有運氣。我已經嘗試從這個非常頁面的一堆例子,但無濟於事...通過href鏈接將變量從PHP循環傳遞給JQuery的模態

我有一個PHP循環打印出一些數據,然後點擊'查看'鏈接,模態框彈出顯示更多的信息給定的人。要顯示該模式框的內容,我使用外部php文件,所以我認爲傳遞一個值很簡單,只需根據傳遞的ID從DB中選擇並顯示所有信息即可。所以錯了,我是......

這是我現在有:

PHP:

<tr> 
    <td>' . sel_db('*', 'guests', $row['guestID'], '3') . '</td> 
    <td>' . find_lounge($row['departureID']) . '</td> 
    <td>' . $row['flight_no'] . '</td> 
    <td>' . $row['arrival_time'] . '</td> 
    <td><a class="modalInput" rel="#details_view">View</a></td> 
    <td class="cent">' . $thisBooking . '</td> 
</tr> 

而這個小的jQuery:

<script type="text/javascript" /> 
    var triggers = $(".modalInput").overlay({ 

    // some mask tweaks suitable for modal dialogs 
    mask: { 
    color: '#ebecff', 
    loadSpeed: 200, 
    opacity: 0.9 
    }, 

    closeOnClick: true 
}); 
$('#details_view').load('popup.php?ID=???'); 

</script> 

加上純HTML頁面內的div (與php代碼非常相似):

<!-- Details popup --> 
    <div class="modal" id="details_view"> 
     { here is loaded external php file } 
    </div> 

彈出窗口打開狀態良好,但無法顯示任何動態內容,因爲我無法從PHP循環中獲取該ID。

任何人都可以幫忙嗎?任何輸入將非常感激。

乾杯, 格雷格Bialowas

+0

在鏈接中放置了一些虛擬屬性,將id存儲在那裏。然後在相應的鏈接點擊事件中通過$(this).attr('randomAttribute')進行檢索。 – itachi

+0

與其使用虛擬屬性,不如使用符合此目的的符合HTML5的數據屬性。 –

回答

1

假設要符合現代網絡標準,你可以存儲在DOM作爲一個HTML5數據屬性的信息。基本上,您可以添加任何以data-開頭的屬性,當您要存儲有關DOM元素的任意信息時。你的鏈接看起來像

<a class="modalInput" rel="#details_view" data-id="???">View</a> 

,然後你可以當你需要也將加載彈出

$('[rel="#details_view"]').attr('data-id'); // Returns the ID 

請注意,我認爲你犯了一個錯誤,沒有按rel="#details_view"」讀從Javascript此信息對我來說很有意義,如果那是你想要的,$('#details_view')不會選擇它。上面的選擇器會。

+0

使用HTML5數據屬性+1。 –