我有一个关于为数据表使用自定义排序选项的问题。 我有一张桌子,最后一栏只有图片。图像使用标题标记,我想在其中对它们进行排序。
所以,我使用这段代码来设置排序:
<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'不是函数”
我做错了什么?
答案 0 :(得分:2)
找到答案,但不理解。
改 {“sType”:“title-string-asc”,“aTargets”:[4]} 至 {“sType”:“title-string”,“aTargets”:[4]}
现在它有效。但为什么? “title-string”无处定义。 javascript如何将该字符串链接到标题标签的内容?