gpt4 book ai didi

javascript - Jquery Table Sorter 日期提取与文本

转载 作者:行者123 更新时间:2023-11-28 02:39:53 25 4
gpt4 key购买 nike

我正在尝试使用最新可用的 Jquery 表排序器插件。 http://mottie.github.com/tablesorter/docs/#Demo

问题是我有一个日期格式的表列,并且它还包含一个电子邮件值。我正在尝试提取日期值并根据日期值对其进行排序。

由于我使用的是最新版本的表排序器,因此我尝试使用最新版本中可用的解析器类名(http://mottie.github.com/tablesorter/docs/example-parsers-class-name.html)。

请在下面找到我的 fiddle 。

http://jsfiddle.net/meetravi/pztqe/8/

代码片段:

      <tr>
<th>Name</th>
<th>Major</th>
<th>Sex</th>
<th>English</th>
<th>Japanese</th>
<th>Calculus</th>
<th>Geometry</th>
<th class="sorter-shortDate">Date</th>
</tr>
<tbody>
<tr>
<td>Student01</td>
<td>Languages</td>
<td>male</td>
<td>80</td>
<td>70</td>
<td>75</td>
<td>80</td>
<td><em>11/01/12 11:42</em><spanclass="label">xyz@xyz.com</span></td>
</tr>
</tbody>

<script type="text/javascript">
$(document).ready(function(){
$('#table-Id').tablesorter({
theme: 'blue',
dateFormat : "ddmmyy",
textExtraction: {
7: function(node, table, cellIndex) {
return $(node).find("em").text();
}
}
});


});


</script>

最佳答案

首先,跨度和类之间应该有一个空格。

其次,日期解析器仅设置为处理 4 位数年份 ddmmyyyy。请参阅this issue获得一个适用于 2 位数年份的解析器,但请阅读所有内容以了解 IE 处理 2 位数年份的行为。

<td><em>11/01/2012 11:42</em><span class="label">xyz@xyz.com</span></td>

第三,由于日期列的内容,您需要在标题中设置排序选项:

headers: {
7: { sorter: 'shortDate' }
}

最后,演示中有两个 textExtraction 选项。第二个,不是您上面发布的那个,是覆盖该函数的。你写的那个完美运行:)

Here is a demo上述更改。

<小时/>

更新:这是 updated demo使用以下解析器代码:

$.tablesorter.addParser({
id: "ddmmyy",
is: function(s) {
return false;
},
format: function(s, table, cell, cellIndex) {
s = s
// replace separators
.replace(/\s+/g," ").replace(/[\-|\.|\,]/g, "/")
// reformat dd/mm/yy to mm/dd/yy
.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{2})/, "$2/$1/$3");
var d = new Date(s), y = d.getFullYear();
// if date > 50 years old, add 100 years
// this will work when people start using "70" and mean "2070"
if (new Date().getFullYear() - y > 50) {
d.setFullYear( y + 100 );
}
return d.getTime();
},
type: "numeric"
});

关于javascript - Jquery Table Sorter 日期提取与文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12840453/

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