- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道这个问题已经被讨论过,但是,即使经过一些搜索,我也找不到解决我的问题的方法。
我尝试使用 jQuery 的 tablesorter 插件,但它在我的 table 上不起作用。不过,我可以对网站上找到的表格进行排序,因此表格排序器已正确加载,并且不存在 css 问题。这是我的表的代码:
<table id="tabletest" class="tablesorter">
</table>
如您所见,我的表是动态构建的。这是构建我的表的代码:
function refresh(){
var terms=" name,elevation,gnvid,type,status,display ";
var database='hotvolc_volcanoes';
var condition='';
$.ajax({ //La requête ajax pour récupérer les données sous forme d'un tableau de Json
url: 'includes/query_ajax.php', //adresse du script php qui interroge la BDD
data: { terms : terms, database : database, condition : condition }, //la requete qu'on lui fait passer en paramètres
method: 'post',
success: function (data) { //La fonction callback qui sera exécutée une fois que la requête ajax sera terminée
//Cette fonction contient la création de la carte et l'affichage des icones tirés de la BDD
delRows('tabletest');
var iconFeatures=[];
//console.log(data);
var line;
var titles=terms.split(",");
var result=$.parseJSON(data);
var n= result[0].length;
var m= result.length;
var number=get_number();
if (m>number){m=number}
var tableau = document.getElementById("tabletest");
var header = tableau.createTHead();
//var triline = header.insertRow(0);
var hline = header.insertRow(-1);
for (var i=0; i<n; i++)//Cette boucle permet de récupérer chaque métadonnée issue de la BDD
{
var hcolonne =hline.insertCell(i);//on a une ajouté une cellule
//var tricolonne =triline.insertCell(i);//on a une ajouté une cellule
//tricolonne.innerHTML += "<div id='tri' style='border:1px solid black;text-align : center' onclick='tri("+i+")' >Haut</div>" + "<br>" ;//on y met le contenu de titre
hcolonne.innerHTML += titles[i] ;//on y met le contenu de titre
}
var body = tableau.createTBody();
for (var j=0; j<m; j++)//Cette boucle permet de récupérer chaque métadonnée issue de la BDD
{
var line=(result[j]);
var ligne = body.insertRow(-1);//on a ajouté une ligne
for (var i=0; i<n; i++)//Cette boucle permet de récupérer chaque métadonnée issue de la BDD
{
var colonne = ligne.insertCell(i);//on a une ajouté une cellule
colonne.innerHTML += line[i] ;//on y met le contenu de titre
}
}
console.log(document.getElementById('tabletest').rows[0].cells[0].innerHTML);
$("#tabletest").tablesorter( {sortList: [[0,0]]} );
}})
}
我尝试将 tablesorter 函数放在 ajax 回调的末尾,以确保当我尝试排序时我的表已加载。我还尝试将此函数放入 document.ready()
函数和 window.load()
中,在其中调用我的 refresh()
> 功能但不起作用,
控制台不返回任何错误消息,但什么也没有发生。
我检查了 Firefox 的检查器,我的表格已正确构建:
我也尝试用console.log显示内容,一切正常。
很抱歉建表的代码没有英文注释,但由于结果看起来还可以,所以我没发现它有什么用。
编辑:
这是控制台显示的内容。我还注意到 jquery 中有一个错误,但我不知道是什么意思:
这是 jquery 中的代码,其中错误被定位:
function updateHeaderSortCount(table, sortList) {
var c = table.config,
l = sortList.length;
for (var i = 0; i < l; i++) {
var s = sortList[i],
o = c.headerList[s[0]];
o.count = s[1];
o.count++;
}
}
最佳答案
好的,我终于解决了我的问题,
Mottie 是对的,我的表头不正确,事实上我使用了 insertCells 来填充它,但是 insertCells 创建了“td”标签而不是“th”标签,因此 tablesorter 无法工作。
我使用了 gaurav 在这个线程中给出的解决方案:Insert th in thead
现在可以了!
非常感谢大家对我的帮助!
关于javascript - 无法使用 tablesorter 功能对表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886788/
tablesorter 中的奇怪行为: $(document).ready(function() { var timeInSec = function(node) { return $(nod
我在使用第一列(共 4 列)中的链接的表上使用 Tablesorter。问题是,在 FF 和 Chrome 中,当通过 url 而不是链接的内容点击时,它对第一列进行排序。例如 zzz112233 a
我正在使用 tablesorter 在我的一个页面上对网格进行排序。我每 10 秒进行一次 AJAX 调用以获取更新的股票信息,并相应地更新我的网格。这么多工作,但我无法让我的排序选项正确缓存。相反,
使用 tablesorter 的分页器插件可以进行服务器端分页吗?看起来默认选项要求您一次将所有行加载到浏览器的内存中。由于我有这么多记录,这实际上是不可能的,我更愿意一次加载一页。 tablesor
在使用 tablesorter css 默认主题时,如果我避免设置表格宽度,我会得到一个很好的表格,所有列都完美地调整为最长的字段。 但是,如果我添加过滤器小部件,所有列看起来都比以前宽得多,并且有很
有没有办法通过表排序器 jquery 语法添加数据占位符值,而不是添加到 th HTML 标记本身?也许使用像 filter: false 这样的 header 语法? 最佳答案 有五种方法可以禁用列
我正在尝试在表格上添加一些下拉过滤器以及分页。我正在使用 tableSorter 插件,即,tablesorter 进行排序,tablesorter-filter 或过滤器小部件进行过滤,并使用 ta
我正在使用https://github.com/jbritten/jquery-tablesorter-filter 、jquery 表排序器插件和 jquery 表排序器分页。 当我在文档加载中加载
我想给每一行编号,而不是让这些数字移动/排序。第一列 # 需要是静态的/固定的。所有其他列都可以根据需要进行排序。 这可能吗? 这是我的主题:
我正在使用tablesorter和tablesorterFilter插件,就此而言,tablesorterPager插件对我的数据进行排序。我有一个导航菜单,用于将内容组织到文件夹类型布局中,类似于
注意:JS/Jquery noob 警报(是的,我) 以下两个插件之间似乎存在冲突: 表格排序器 (2.9.1) bootstrap-popover.js v2.2.1 这些插件可以单独使用,但放在一
我已将 tablesorter() 实现到我的 gridview 中,并将其放置在无法对某些列进行排序的位置。但是,我无法在排序时显示升序和降序图标,也无法让默认图标不显示在无法排序的列上。我有以下C
我无法找到如何执行以下操作: 我想要一个顶部的计数器,显示行数和总行数,如下所示: 10/100 (不是寻呼机) 我触发什么? 我在 $(document).ready() 上有一个变量像这样:var
这是我的自定义解析器: $.tablesorter.addParser({ id: "customParser", is: function (stringValue) {
我知道有人对此有一些疑问,但我似乎无法解决我的问题。 我正在将 .csv 文件加载到表排序器中,但我的列之一是日期(2009 年 12 月 23 日)。但它们排序为 12 月 2 日、12 月 23
我有一个表格,其中第一个标题列有一个“全选”复选框,还有一些简单的代码,用于在单击标题复选框时选择页面上的所有复选框。 $('#CheckAll').bind('click',function() {
我有一个表格,其中有一列的数字范围约为 -10 到 10,还有一些空列。 我希望表排序器始终将空列放在表的底部。即使我按升序或降序排序。 像这样: -1 0 2 3 或者像这样: 3 2 0 -1
我创建了一个jquery表,时不时需要清除并重新填充,我的清除方法是这样的: //Clear table content before repopulating values $('#table tr
我有一个通过 jQuery 加载命令加载的表。在加载函数的回调中,我启动了表排序器插件。由于某种原因,该表仅按降序排序而不是升序排序。更奇怪的是,如果我按住shift,它会在升序和降序之间正确切换吗?
有没有jQuery用于调整表列大小的插件,可以与 tablesorter 一起使用吗? 最佳答案 看起来像Flexigrid有你想要的一切。 关于jQuery tablesorter + 调整列宽,我
我是一名优秀的程序员,十分优秀!