- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用https://github.com/Mottie/tablesorter当前的master ,我已从 older tablesorter 更新为以便能够使用过滤器小部件。但在这样做时,我遇到了一个问题,当要求使用“文本”排序器时,似乎无法对带有前导 0 的数字进行排序。
示例:
headers:
0:
sorter: 'text'
在包含值的列上
我期望排序后的值是
但它似乎将其解析为数字,因为前导 0 对排序顺序没有影响。
jsFiddles:
我在这里创建了一个基本的 jsFiddle:https://jsfiddle.net/ewjg8mob/来显示我的需要。
Another jsFiddle表明排序正在“工作”,但似乎去掉了前导 0,对我来说这意味着它正在按数字排序。
我已经用最新版本的 jQuery 1、2 和 3 尝试过此操作。
注意'old' Tablesorter这样做是正确的,但新的 fork 似乎有问题。
最佳答案
tablesorter 的分支用自然排序算法替换了基本的文本排序,因此像 01
和 0001
这样的值会被解析并视为相同的值。
要解决此问题,您可以设置 textSorter
option使用基本文本排序 - 与原始版本相同 - 如下 ( demo )
$(function() {
$("#tablesorter-example").tablesorter({
textSorter: {
1: $.tablesorter.sortText
},
headers: {
1: { sorter: 'text' }
}
});
});
或者,您可以创建自定义解析器来修改缓存值以调整排序顺序 ( demo )
$(function() {
$.tablesorter.addParser({
id: 'leadingZeros',
is: function() {
return false;
},
format: function(s, table) {
var number = parseFloat(s),
str = number.toString();
if (s.length !== str.length) {
// subtract a decimal equivalent of the string length
// so "0001" sorts before "01"
number -= 0.00000001 * (s.length - str.length);
}
return number;
},
type: 'number'
});
$("#tablesorter-example").tablesorter({
headers: {
1: { sorter: 'leadingZeros' }
}
});
});
关于javascript - jQuery Tablesorter 错误地对带有前导 0 的数字进行排序(使用解析器时 : text),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42774883/
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 + 调整列宽,我
我是一名优秀的程序员,十分优秀!