程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery Tablesorter 自定义过滤器具有重音字符和特殊配置的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决jQuery Tablesorter 自定义过滤器具有重音字符和特殊配置的问题?

开发过程中遇到jQuery Tablesorter 自定义过滤器具有重音字符和特殊配置的问题的问题如何解决?下面主要结合日常开发的经验,给出你关于jQuery Tablesorter 自定义过滤器具有重音字符和特殊配置的问题的解决方法建议,希望对你解决jQuery Tablesorter 自定义过滤器具有重音字符和特殊配置的问题有所启发或帮助;

我在定义自定义过滤器时遇到问题

  1. 有重音字符
  2. textExtraction 已定义(用于设置 data-sort-value 属性 I/O 节点文本的使用)
  3. sortLocalCompare 设置为 true

重现步骤

在名为“2”的列(我在我的应用中使用 flaticon)中,选择选项“Modéré”或“>=Modéré”

观察结果

过滤器没有找到任何结果 => 表格是空的

预期结果

它应该找到:

  • 1 行(使用选项“Moderé”时)或
  • 2 行(当使用选项“>=Moderé”时,因为“SérIEux”大于“Modéré”)

请找到具有所描述情况的 link。 当我改变任何一个时:

  1. sortLocalCompare:false
  2. 注释/删除 textExtraction 属性定义 两种情况,其中一种就足够了,让一切顺利。

当然,作为解决方法,这两个删除选项都不能让我满意。因为:

  1. 选项 1:sortLocalCompare:false 当我们按第二列“Société”排序时,公司“Bâloise”在“BVZ Holding”之后排序,这是由于“â”。
  2. 选项 2:我需要定义 textExtraction 函数,因为我设置了整数值以使逻辑与 ">=Modéré" 一起工作,或者添加多个由半列分隔的整数以处理元素的多个主题(并有一个自定义过滤器列出所有主题一次)

我试图使 the example 尽可能简短和全面。这个表可以用 3 种语言生成(我的应用程序是英语、法语、德语),过滤器应用了 CSS 类名,以便像我一样在应用程序中的多个表中使用。

这是我的通用配置的简短版本(多个表使用它):

@H_874_58@$(function() { $(".tablesorter").tablesorter({ theme: 'blue',sortLocaleCompare: true,Widgets: ["filter"],textExtraction: textExtractionDataSortValue,filter_onlyAvail: 'filter-onlyAvail',WidgetOptions: { filter_functions: { '.filter-controversy': filterControversy,} } }); });

自定义过滤器功能(根据用户的语言生成英语、法语或德语):

@H_874_58@var filterControversy = { 'Aucun': function(e,n) { console.info(e + " n=" + n); return e == ''; },'Modéré': function(e,n) { console.info(e + " n=" + n); return e == 101; },' >=Modéré': function(e,n) { console.info(e + " n=" + n); return e >= 101; },'SerIEux': function(e,n) { console.info(e + " n=" + n); return e == 102; },' >=SérIEux': function(e,n) { return e >= 102; },'Sévère': function(e,n) { return e == 106; },'Majeur': function(e,n) { console.info(e + " n=" + n); return e == 103; },'Tous': function(e,n) { return e != ''; } }

感谢您的帮助

tablesorter 版本:2.31.3(最新)

解决方法

因此,您对导致问题的 sortLocaleCompare 的行为是正确的。发生的事情是过滤器函数名称正在删除重音。为了解决这个问题,您需要更改函数名称以包含非重音名称(用于函数)以及重音名称(向用户显示)demo

您只需要按如下方式更改 filterControversy 对象:

@H_874_58@var filterControversy = { 'Aucun': function(e,n) { return e == ''; },'Modere|Modéré': function(e,n) { return e == 101; },' >=Modere| >=Modéré': function(e,n) { return e >= 101; },'Serieux': function(e,n) { return e == 102; },' >=Serieux| >=Sérieux': function(e,n) { return e >= 102; },'Severe|Sévère': function(e,n) { return e == 106; },'Majeur': function(e,n) { return e == 103; },'Tous': function(e,n) { return e != ''; } };

可以使用 filter_SELEctsource widget option

更改 | 分隔符

大佬总结

以上是大佬教程为你收集整理的jQuery Tablesorter 自定义过滤器具有重音字符和特殊配置的问题全部内容,希望文章能够帮你解决jQuery Tablesorter 自定义过滤器具有重音字符和特殊配置的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: