2010-08-28 113 views
-2

我有一個使用PHP創建的表格,當您單擊要顯示描述的項目名稱時。在動態表格中隱藏描述

<table border="1" bordercolor="#000000"> 
    <tr class="trintial"> 
    <th width="50px"><input type="checkbox" readonly="readonly" checked="checked" /></th> 
    <th width="300px">To-Do Item</th> 
    <th width="100px">Priority</th> 
    <th width="100px">Due Date</th> 
    </tr> 

    <?php 
    $i=0; 
    while ($i < $num) 
    { 
     $entrynum=mysql_result($result,$i,'todo.entry'); 
      $f2=mysql_result($result,$i,'todo.item'); 
     $f3=mysql_result($result,$i,'todo.priority'); 
     $f4=mysql_result($result,$i,'todo.duedate'); 
     $f5=mysql_result($result,$i,'todo.description'); 
    ?> 

    <tr id="<?php echo "row$entrynum"; ?>" class="trintial"> 
     <td><input type="checkbox" onchange="change(this,<?php echo "row$entrynum"; ?>)" name="<?php echo "box$entrynum"; ?>" value="checked" /></td> 
     <td><?php echo $f2; ?></td> 
     <td><?php echo $f3; ?></td> 
     <td><?php echo $f4; ?></td> 
    </tr> 
    <?php 
    $i++; 
    } 
    mysql_close($con); 
     ?> 
</table> 
+0

需要更多描述。你甚至沒有輸出任何地方的$ f5(我假設是你的描述)。你想如何展示?地點和原因?你應該看看jQuery - 它有許多功能致力於簡單的UI顯示/隱藏效果,並且是跨瀏覽器兼容的。 – 2010-08-28 23:06:35

+1

當$ f2的文本被點擊時,我需要它輸出 – supertech 2010-08-28 23:10:20

+0

'bordercolor'屬性很久以前就被棄用了。改爲使用等效的[CSS屬性](http://www.w3.org/TR/CSS2/box.html#border-color-properties)。 – 2010-08-28 23:32:21

回答

1

我需要在$ f2的文本被點擊

我喜歡這個世界觀它輸出中。你真的不能這樣做。因爲你不用PHP回聲,用戶永遠不會收到他的瀏覽器。 (請記住:PHP僅在服務器端執行,HTML,CSS和JavaScript在用戶瀏覽器中「執行」。)

要使您的描述在單擊$ f2時顯示,您需要將它打包到您的HTML,然後用CSS隱藏它。之後,當你點擊$ f2時,你需要編寫一些智能的JavaScript來覆蓋你的描述的CSS。這不是微不足道的,但它是可行的。如果您需要一些幫助,請在「展示」說明中準確地發佈您的理解,因爲有很多方法可以做到這一點。

+0

如果我使用.toggle()從jquery它會工作,因爲表是動態的? – supertech 2010-08-28 23:24:11

+0

你可以使用'.toggle()'和show和hide函數,但我想我不明白你的問題。 – svens 2010-08-28 23:33:38

+0

我只希望它顯示你點擊的描述,並且表是動態構建的 – supertech 2010-08-28 23:49:19

1

Supertech,我覺得你把服務器端代碼(這裏是PHP)與客戶端代碼搞混了。 PHP不會在用戶的瀏覽器中運行。一旦頁面數據發送完畢,PHP不再運行。你想要做的是創建一些Javascript來修改頁面上元素的樣式(CSS)。

首先輸出你的表格,因爲它看起來會擴大一切。完成此操作後,將CSS類添加到所有元素,例如「隱藏」。然後在你的頁面的CSS中,用這樣的東西來定義這個類

.hidden { 
    display:none; 
} 

現在,你需要添加合適的Javascript來顯示鏈接。像這樣的東西應該做

<a href="javascript:yourelement.style.display='block'">Click Me</a> 

如果一切正常,現在顯示yourelement。

您可以在CSS display屬性在這裏讀了起來: http://www.w3schools.com/css/pr_class_display.asp

,並在必要的Javascript來這裏改變風格: http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/

我希望這可以幫助您瞭解所有這些基本無關各個部分在您的Web應用程序中一起使用

+0

感謝我從中得出的鏈接 – supertech 2010-08-29 00:02:38

+0

這是非常棒的高級技術,如何在答案旁標記複選標記? – Brad 2010-09-01 16:38:40