Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery表分类器文本日期提取_Javascript_Jquery_Jquery Plugins_Tablesorter - Fatal编程技术网

Javascript Jquery表分类器文本日期提取

Javascript Jquery表分类器文本日期提取,javascript,jquery,jquery-plugins,tablesorter,Javascript,Jquery,Jquery Plugins,Tablesorter,我正在尝试使用最新的Jquery表分类器插件 问题是我有一个带有日期格式的表列,它还包含一个电子邮件值。我试图提取日期值并根据日期值对其排序 因为我使用的是最新版本的表分类器,所以我尝试使用最新版本中可用的解析器类名(http://mottie.github.com/tablesorter/docs/example-parsers-class-name.html) . 请在下面找到我的小提琴 代码段: <tr> <th>Name</t

我正在尝试使用最新的Jquery表分类器插件

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

因为我使用的是最新版本的表分类器,所以我尝试使用最新版本中可用的解析器类名(http://mottie.github.com/tablesorter/docs/example-parsers-class-name.html) .

请在下面找到我的小提琴

代码段:

      <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>

名称
专业
性
英语
日本人
微积分
几何学
日期
学生01
语言文字
男性的
80
70
75
80
11/01/12 11:42xyz@xyz.com
$(文档).ready(函数(){
$(“#表Id”).tablesorter({
主题:"蓝色",,
日期格式:“ddmmyy”,
文本提取:{
7:函数(节点、表、单元索引){
返回$(node.find(“em”).text();
}
}
});
});

首先,span和class之间应该有一个空格

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

<td><em>11/01/2012 11:42</em><span class="label">xyz@xyz.com</span></td>
最后,演示中有两个
textextextraction
选项。第二个,不是您上面发布的,正在重写函数。你写的那本很好:)

上述变化的一部分


更新:下面是一个使用以下解析器代码的示例:

$.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"
});

首先,span和class之间应该有一个空格

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

<td><em>11/01/2012 11:42</em><span class="label">xyz@xyz.com</span></td>
最后,演示中有两个
textextextraction
选项。第二个,不是您上面发布的,正在重写函数。你写的那本很好:)

上述变化的一部分


更新:下面是一个使用以下解析器代码的示例:

$.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"
});

您可以设置年/月/日格式的日期。。。这将是一个快速修复,但不是最好的谢谢迈克,但在我的情况下,我可以使用上述格式或美国长格式只。我希望排序工作的基础上。你可以开始分离电子邮件和日期,这将是一个更好的开始^^你可以设置的格式年/月/日的日期。。。这将是一个快速修复,但不是最好的谢谢迈克,但在我的情况下,我可以使用上述格式或美国长格式。我希望排序工作的基础上。你可以开始分离电子邮件和日期,这将是一个更好的开始^^非常感谢莫蒂的辉煌工具(Tablesorter)对于这个答案,请查看我添加的最新演示。。。它仅适用于“ddmmyy”格式,但如果您希望它适用于“mmddyy”,则只需将替换顺序更改为“$1/$2/$3”;并将解析器重命名为“mmddyy”,当然;)非常感谢Mottie提供的出色工具(Tablesorter)和这个答案。请查看我添加的更新演示。。。它仅适用于“ddmmyy”格式,但如果您希望它适用于“mmddyy”,则只需将替换顺序更改为“$1/$2/$3”;并将解析器重命名为“mmddyy”,当然;)