2010-08-28 110 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