2010-01-13 29 views
0

我對jQuery,php和數據庫非常陌生,但是我設法創建了一個數據庫,用php從該數據庫檢索數據。切換數據庫的結果

填入searchterm後,數據(從數據庫中檢索)將顯示在結果頁面中。例如:在搜索荷蘭時,您會得到幾個城市。這些城市都有額外的信息(人口,口語,國家等)

城市顯示,但額外的信息必須不可見,直到訪客點擊帶下劃線的單詞或圖像。

問題:

這最後一部分的問題。它似乎與一個無形的div一起工作,但是當我點擊第二個結果時,第一個結果會再次切換。

的數據與一個查詢檢索:

$結果= $ DB->查詢(「選擇城市,國家,Touristinfo,電話,傳真,時代,電子郵件,MATCH(城市名)反對('$ searchterm'IN BOOLEAN MODE)AS與城市的相關性WHERE MATCH(CityName)AGAINST('$ searchterm'IN BOOLEAN MODE)ORDER BY city「);

的數據顯示如下:

echo '<div class="small_box"> 

<p><strong>'.$row['City'].'</strong></p> 

Click <u>here</u> for more info. 

<table id="moredetails"> 
<tr><td>'.$row['Country'].'</td></tr> 
<tr><td>'.$row['Touristinfo'].'</td></tr> 
<tr><td>'.$row['Tel'].'</td></tr> 
<tr><td>'.$row['Fax'].'</td></tr> 
<tr><td>'.$row['Times'].'</td></tr> 
<tr><td>'.$row['Email'].'</td></tr> 
</table> 

      </div> 

      <div class="small_box_right"> 
       <p></p> 


<table> 
<tr><td><i mg src ="'.$row['Logo'].'"></td></tr> 
</table> 

      </div>'; 

我使用的切換js代碼非常簡單(但還不夠好這種情況):

$(document).ready(function(){

$("u").click(function() { 
    $('#moredetails').toggle(); 
}); 

});

回答

1

你不能重複使用這樣的元素「id」值。每行的詳細信息需要自己的「id」。

如果帶下劃線的文本是行內的,那麼也許你可以給的細節元素的類「詳細信息」,然後讓你的「點擊」處理程序做這樣的事情:

$("u").click(function(e) { 
    $(this).closest("tr").find(".details").toggle(); 
}); 
+0

感謝了很多。你幫我找到了解決方案。我chaged jQuery的代碼: $(文件)。就緒(函數(){$ ()隱藏()之前( '

Open

'); $(' a.slick-」 moredetails。'。 ')。click(function(){ $(this).text($(this).text()=='Open'?'Close':'Open') .parent()。nextAll('。更多細節')。slideToggle(400); return false; }); }); – John 2010-01-13 21:42:03