数据表对标题标签上的图像进行排序

时间:2013-07-19 09:31:39

标签: datatables

我有一个关于为数据表使用自定义排序选项的问题。 我有一张桌子,最后一栏只有图片。图像使用标题标记,我想在其中对它们进行排序。

所以,我使用这段代码来设置排序:

<script type="text/javascript">

            jQuery.extend( jQuery.fn.dataTableExt.oSort, {
                "title-string-pre": function ( a ) {
                    return a.match(/title="(.*?)"/)[1].toLowerCase();
                },

                "title-string-asc": function ( a, b ) {
                    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
                },

                "title-string-desc": function ( a, b ) {
                    return ((a < b) ? 1 : ((a > b) ? -1 : 0));
                }
            } );

            $(document).ready(function() {
                        $('#customertable').dataTable( {
                             "aoColumnDefs": [ 
                             { "bSortable": false, "aTargets": [ 0,1 ] },
                             { "sType": "title-string-asc",   "aTargets": [ 4 ] }
                           ],

                            "bPaginate": false,
                            "bLengthChange": false,
                            "bFilter": false,
                            "bInfo": false,
                            "bAutoWidth": false,
                            "bSortCellsTop": true

                        } );
                    } );
</script>

然而,当我点击第4列的标题时,它不起作用,Chrome报告错误“对象#的属性'title-string-asc-desc'不是函数” 和 “对象#的属性'title-string-asc-asc'不是函数”

我做错了什么?

1 个答案:

答案 0 :(得分:2)

找到答案,但不理解。

改     {“sType”:“title-string-asc”,“aTargets”:[4]} 至     {“sType”:“title-string”,“aTargets”:[4]}

现在它有效。但为什么? “title-string”无处定义。 javascript如何将该字符串链接到标题标签的内容?