JQuery TableSorter: 排序箭头不显示

11

我正在实现jQuery的tablesorter,但箭头似乎无法显示。

到目前为止,这是我的做法:

<script type="text/javascript" src="/path/to/jquery-latest.js"></script> 
<script type="text/javascript" src="/path/to/jquery.tablesorter.js"></script>
并且
$(document).ready(function() 
    { 
        $("#myTable").tablesorter(); 
    } 
); 

表格可以正常排序,但箭头没有显示。我是否漏掉了什么?
我甚至添加了以下内容,但没有起作用:

<LINK rel="StyleSheet" type="text/css" href="../tablesorter/themes/green/style.css"> 

5
我猜 tablesorter 会有一个样式表,你是否将其集成进来?并且你是否已经将图片上传到你的服务器?你是否已经从 CSS 内部更改了图片的路径? - Hipny
1
请确保 .png 图像与您的 CSS 文件位于同一文件夹中,否则您将不得不编辑 .css 文件中的 URL。 - wirey00
6个回答

12

在使用表格排序插件tablesorter时,我在http://ajthomas.co.uk/fpl/页面上遇到了相同的问题。不过,这是因为我遗漏了在下载中包含的样式表和图片。看起来你也是一样。


1
嗯...在样式表中,您引用了正确的表ID/类吗? - Alex
1
在样式表中的引用和具有“'.tablesorter'”类的表格中,你的表格有这个类吗? - Alex
ajthomas链接返回404。 - Be Kind To New Users

6

如果您级联他们的样式表,它将与TableSorter网站上的外观完全相同。您甚至不需要将其从他们的包中移动。只需在样式表声明后添加此行:

<link href="[YOUR PATH TO]/tablesorter/themes/blue/style.css" rel="stylesheet" type="text/css" />

2

为了使箭头显示出来,我需要做几件事情。

首先是添加CSS。我将tablesorter-blue.css移动到其他样式文件所在的目录中,然后使用以下标签进行导入。

<link rel="stylesheet" href="/styles/tablesorter-blue.css">

其他答案遗漏的部分是在定义表格时需要指定样式。
<script>$(function() {$('#table_to_sort').tablesorter({"theme": "blue"});});</script>

当你查看 tablesorter-*.css 文件时,会发现样式定义的名称类似于 tablesorter-blue 或 tablesorter-green。通过指定主题,它会将主题名称附加到 'tablesorter-',因此您可以包含所有主题,并将不同的主题应用于不同的表格。
在最新版本中,实际图像以 Base64 形式在 CSS 中提供,因此无需再将图像文件复制到您的项目中。

1
我最近遇到了这个问题。(可能与原问题无关,因为它很旧。)
我的主题(蓝色)包含了样式和箭头图像的Base 64编码,所以应该可以正常工作。
简单的问题是,我的``标签除了tablesorter之外还没有添加tablesorter-blue类,因此它加载了默认主题。

0

如果有人仍然遇到tablesorter未显示排序箭头的问题,这里是我在初始化回调中使用的小技巧:

$("table.sort").tablesorter({
  theme : 'dropbox',
  cssIcon: 'tablesorter-icon',
  initialized : function(table){
    $(table).find('thead .tablesorter-header-inner').append('<i class="tablesorter-icon"></i>');
  }
});

-2

你需要将 tablesorter 类添加到你的表格中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接