首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jQuery DataTables中使用锚定标记对列进行排序

在jQuery DataTables中使用锚定标记对列进行排序
EN

Stack Overflow用户
提问于 2009-12-14 15:42:06
回答 8查看 7.9K关注 0票数 1

我使用了jQuery数据表插件对表格数据进行排序。如果列包含简单文本,则排序效果很好。如果我将任何锚标记条件放在文本上,则列排序不会正确排序。

我以以下方式显示了这些值:

代码语言:javascript
运行
复制
<td><?php if ($allAptArr[$d][27]['staffinactive'] == 1) { ?>
        <?=ucwords(stripslashes($allAptArr[$d][5]['staff_name']));?>
    <?php } else { ?>
        <a href='#' onClick="redirectToStaff('<?=$allAptArr[$d][10]['staff_id']?>');">
        <?=ucwords(stripslashes($allAptArr[$d][5]['staff_name']));?>
        </a>
<?php } ?> </td>

使用此代码,列排序将失败。

EN

回答 8

Stack Overflow用户

发布于 2012-11-21 00:21:00

在ready函数之前添加以下内容:

代码语言:javascript
运行
复制
    //sets up numeric sorting of links
    jQuery.fn.dataTableExt.oSort['num-html-asc'] = function(a,b) {
    var x = a.replace( /<.*?>/g, "" );
    var y = b.replace( /<.*?>/g, "" );
    x = parseFloat( x );
    y = parseFloat( y );
    return ((x < y || isNaN(y) ) ? -1 : ((x > y || isNaN(x)) ? 1 : 0));
    };

    jQuery.fn.dataTableExt.oSort['num-html-desc'] = function(a,b) {
    var x = a.replace( /<.*?>/g, "" );
    var y = b.replace( /<.*?>/g, "" );
    x = parseFloat( x );
    y = parseFloat( y );
    return ((x < y || isNaN(x)) ? 1 : ((x > y || isNaN(y) ) ? -1 : 0));
    };

在就绪的函数中:

代码语言:javascript
运行
复制
        "aoColumns": [
          { "sType": "num-html" },
          null,
          etc. etc.
        ]

这就是我对锚点的工作方式,整数按照他们应该得到的顺序进行排序。

票数 6
EN

Stack Overflow用户

发布于 2012-01-09 08:38:24

将列类型设置为'html':

代码语言:javascript
运行
复制
$('#example').dataTable( {
    "aoColumns": [ 
        { "sType": "html" },
        null,
        null,
        null,
        null
    ]
} );

这将在排序前剥离HTML标记。

请参阅documentation for sType parameter

票数 4
EN

Stack Overflow用户

发布于 2010-06-30 17:31:29

当涉及到链接时,我只是遇到了使用数据表进行排序的问题-我有一个列,在某些单元格中有链接,而在其他单元格中没有链接。它似乎在排序,但它先排序所有链接,然后排序所有非链接,而不是将链接和非链接都排序在一起。问题最终被证明是标记中的间距。当我去掉任何a标签周围的所有不必要的空格时,我的列可以完美地排序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1899500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档