因此,基本上我运行的是一个mysql查询,它从数据库中获取数据,并以易于阅读的布局显示给用户。
Name-----Address----Sales Person
你已经明白要点了。现在我想让用户按销售人员对html表格进行排序。使用下拉菜单该如何轻松地做到这一点?
<div class='menu'>
<ul>
<li><a href='#'><span>Sales Person</span></a>
<ul>
<li><a href='#'><span>Melissa</span></a></li>
<li><a href='#'><span>Justin</span></a></li>
<li><a href='#'><span>Judy</span></a></li>
<li><a href='#'><span>Skipper</span></a></li>
<li><a href='#'><span>Alex</span></a></li>
</ul>
</li>
</ul>
</div>
7条答案
按热度按时间nhjlsmyf1#
检查一下你是否可以使用下面提到的任何一个JQuery插件。简直太棒了,提供了广泛的选项来工作,集成起来更少的痛苦。:)
https://github.com/paulopmx/Flexigrid-柔性网格
http://datatables.net/index-数据表。
https://github.com/tonytomov/jqGrid
如果没有,则需要有一个指向那些表标题的链接,该链接调用服务器端脚本来调用排序。
kgsdhlau2#
这是另一个图书馆。
所需更改如下-
1.添加可排序js
1.将类名
sortable
添加到表中。单击表格标题,对表格进行相应排序:
7ivaypg93#
我在浏览器中对HTML表排序的方式使用的是普通的、未经修饰的Javascript。
基本流程是:
1.向每个表格标题添加单击处理程序
1.单击处理程序记录要排序的列的索引
1.表格被转换为数组的数组(行和单元格)
1.使用JavaScript排序函数对该数组排序
1.已排序数组中的数据被插回HTML表中
当然,这个表应该是漂亮的HTML格式,比如...
因此,首先添加单击处理程序...
这现在不起作用,因为在事件处理程序中调用的
sortTable
函数不存在。我们写吧...
现在我们进入了问题的核心,我们需要使用
table2data
函数从表中取出数据,使用data2table
函数在排序后将数据放回表中。他们来了...
这样就行了。
您可能希望补充的几点内容(或您可能希望使用现成解决方案的原因):一个改变排序方向和类型的选项,比如你可能希望对一些列进行数字排序(
"10" > "2"
为false,因为它们是字符串,可能不是你想要的)。标记一列为已排序的能力。某种数据验证。ejk8hzay4#
排序HTML表的另一种方法。(基于**W3.JS HTML Sort**)
ttygqcqt5#
对于一个简单的HTML表,我遇到了一个更简单的方法,即在为每一列定义table th标记时包含以下代码片段,其中#datatable-basic是table标记的id,而nth-child表示列:
完整的th标记如下所示:
如果像我一样使用flask,那么每个row标记都需要一个item类
然后,您需要在模板中添加以下脚本:
codepen中的完整工作示例可以在这里找到:https://codepen.io/acity7/pen/QWmqgQR
这是通过从https://www.w3schools.com/w3js/w3js_sort.asp构建代码来实现的,它非常容易实现对表进行排序,而无需使用数据库或更花哨的JS包(如Fancytable.js),后者可以按列动态排序。
额外的功能-这里是你如何可以添加在一个动态排序简单。
在表体标签中添加id,如id=“table”:
将这些脚本添加到标题中:
添加一个id=“search”的搜索栏来搜索tr标签,并直接在表中过滤它们:
qncylg1j6#
多个表,不同的数据类型,无外部库
https://github.com/VFDouglas/HTML-Order-Table-By-Column/blob/main/index.html
步骤:
1.向所有表头添加事件侦听器。
1.查找与单击的标题相关的表并获得订单图标。
1.声明一个对象以存储表行(
tr
)和所选列的值数组。1.迭代这些值并检查数据类型以供将来排序。
1.排序值并更改表格标题(
th
)图标。1.用订购的html替换旧的
tbody
。编辑(2023年1月11日):添加日期排序支持。
只需添加一个名为
data-timestamp
的属性,并将日期时间戳传递给它,其余的工作由代码负责。31moq8wy7#
使用flexbox属性"order"可以很容易地对基于flexbox的表进行排序。
下面是一个例子:
sortTable
函数将表中的数据提取到一个数组中,然后按字母顺序排序,然后循环遍历表项,并将CSS属性order
赋值为等于排序数组中项的数据索引。