gpt4 book ai didi

jquery - 根据类指定Datatable的sType

转载 作者:行者123 更新时间:2023-12-01 04:53:06 25 4
gpt4 key购买 nike

我正在使用一个模板,它有一个很好的功能,即所有带有 class="datatable"的表都会转换为 jQuery 数据表:

$(".datatable").dataTable();

现在,我已将不同类型的数据放入表中,并注意到金钱和百分比列按文本排序,而不是按数字排序。我添加了用于按金钱和百分比排序的插件 ( see here ),但它们没有得到应用 - 我怀疑是因为在初始化表时,我仍然必须设置这些列的 sType。

我想做一些类似于 asked here 的事情- 即,在标签中指定我需要覆盖的少数列的 sType。但是,由于我使用类而不是 ID 应用该函数,因此如何修改建议的解决方案(扫描 sType 属性)以根据类的特定实例进行查找?

$(".datatable").each(function() {
var aoColumns = [];
$(this).children("th").each(function() {
var sType = $(this).getAttribute("data-sType");
aoColumns.push(sType ? { "sType" : sType } : null);
});
//$(this).dataTable();
$(this).dataTable(
{
"aoColumns" : aoColumns
}
);
});

我遇到的问题是,当我使用 aoColumns 选项运行它时,我不断收到错误无法读取未定义的属性“asSorting”,但如果我在没有选项的情况下运行它,它有效(减去排序功能)。

最佳答案

这是解决该问题的尝试:

http://jsbin.com/ewinep/1
在“价格”列上排序以查看其实际情况。

http://jsbin.com/ewinep/1/edit
问题的核心在于下面创建数据表的 JavaScript。

$(".some-table").each(function(i, v) {
var aoColumns = [];
$(this).find("thead th").each(function() {
var sType = $(this).data("stype"); // lowercase!
aoColumns.push(sType ? { "sType" : sType } : null);
});
$(this).dataTable({ "aoColumns": aoColumns });
});

请注意,我将每个表的 .datatable 的类名更改为 .some-table (并不是说它有任何区别 - 只是厌倦了看到css 类名和同名的 javascript 函数)。

顺便说一句,您是否尝试在 $(this).children("th").each(function() {
下面执行 console.log()查看嵌套的 .each 内是否执行任何代码?

关于jquery - 根据类指定Datatable的sType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17280491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com