我如何简单地使我的HTML表“动态”?

我如何简单地使我的HTML表“动态”?,html,perl,html-table,markdown,Html,Perl,Html Table,Markdown,我正在从Perl编写多重标记来创建一个HTML表 我想知道是否有一种简单的方法可以使表动态化,即允许查看器通过单击列标题对其进行排序,甚至通过输入简单的规则来过滤记录 我不太懂HTML。我用Perl编写代码,实际上只生成HTML,多标记转换为HTML以很好地输出一些数据。我之所以提到这一点,是因为我确信有多种方法可以创建漂亮的动态表,但我真的在寻找一种简单的方法。JQuery是一个Javascript库,它可以让您完成各种整洁的前端工作,包括表排序。使用它并不是坏事,它有点像php,您不必对ht

我正在从Perl编写多重标记来创建一个HTML表

我想知道是否有一种简单的方法可以使表动态化,即允许查看器通过单击列标题对其进行排序,甚至通过输入简单的规则来过滤记录


我不太懂HTML。我用Perl编写代码,实际上只生成HTML,多标记转换为HTML以很好地输出一些数据。我之所以提到这一点,是因为我确信有多种方法可以创建漂亮的动态表,但我真的在寻找一种简单的方法。

JQuery是一个Javascript库,它可以让您完成各种整洁的前端工作,包括表排序。使用它并不是坏事,它有点像php,您不必对html/css了解太多,尽管这不会有什么坏处

简单的方法是使用已经支持这些特性的工具箱/库

谷歌搜索javascript表排序的快捷方式出现了

AJAX是一种可以用来动态获取数据的机制——但是,如果所有数据都已经存在于表中,并且/或者表不需要分页,那么这就太过分了。这两种方法都需要启用客户端JavaScript。非客户端的替代方案是发回,让服务器完成工作并生成新的HTML。但这就是一点哦:-

仅用于应用颜色、背景图像、字体或边框等样式。CSS选择器可以基于HTML元素类属性中经常提供的CSS类工作。文档只是说明一些预定义的CSS类名是通过JavaScript动态添加的,因此可以很容易地进行样式选择,例如,将排序列变成绿色。然而,CSS本身无法控制排序或过滤

Daxim提出了以下SO问题中讨论的建议: 如果此编辑有用,请在此处向上投票:-


快乐编码

Yahoo YUI的datatable控件具有内置的列排序功能

YUI有很多js函数,你可以直接调用和使用。

我使用了下面的代码:

$sql= "select * from table";
$sth = $dbh->prepare($sql);
$sth->execute() or die "Cannot execute sth: $DBI::errstr";
my $fields = join(',', @{ $sth->{NAME} });
my @th = split(',',$fields);
print '<table><thead><tr>';
foreach(@th){
  print '<th>'.$_.'</th>';
}
print '</tr></thead><tbody>';
while (my @next_row_fields = $sth->fetchrow_array()) {
  print '<tr>';
  foreach(@next_row_fields){
    print '<td>'.$_.'</td>';
  }
  print '</tr>';
}
print '</tbody></table>';

jQuery中的任何内容都无法达到OP可能需要的程度。可能有一些插件会有所帮助,但jQuery本身就需要对HTML和JavaScript有很好的了解,才能达到预期的效果。谢谢你让我知道。这个问题被反复问过。你的第一个链接展示了我想要的一切。据我所知,我可能只需要使用一个正确的。然而,正如前面提到的,我对这一切都是新手,所以如果你能详细说明我下一步应该做什么,我会很感激的。不,CSS不会有任何帮助。此JavaScript使用HTML类名来确定要为表的哪些部分启用哪些功能。该脚本的文档中提到CSS类的事实相当令人沮丧,所以我想我确实需要做一些实际的HTMLing/Javascripting。有什么建议吗?我可以使用的模板?我真的不知道。斯图尔特·兰里奇的分类表也可以用于过滤吗?