chr*_*ton 5 jquery datatables angularjs
我试图按字母数字排序一个包含一个锚标记的列,这个标记似乎在"拦截"排序函数.它看起来像以下几行:
<tbody>
<tr><td><a href="/1"></a>Fox</td><tr>
<tr><td><a href="/2"></a>Cow</td><tr>
<tr><td><a href="/3"></a>Dog</td><tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
它会返回Fox,Cow,Dog和Dog,Cow,Fox分别.如何根据a标签的内容而不是a标签本身的文本进行排序?
ctrl.dtOptions = DTOptionsBuilder.newOptions()
.withPaginationType('full_numbers')
.withOption("order", [
[1, "asc"]
])
.withOption('paging', false)
.withOption('searching', false)
.withOption("sDom", '<"top">rt<"bottom"flp><"clear">');
ctrl.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable(),
DTColumnDefBuilder.newColumnDef(1)
];
Run Code Online (Sandbox Code Playgroud)
1:不可排序
2:字母数字(问题栏)
3-10:字母数字 - td只有数字,所以它排序很好
尝试用于.withOption('type', 'html')包含 HTML 的列,如下所示:
ctrl.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable(),
DTColumnDefBuilder.newColumnDef(1).withOption('type', 'html')
];
Run Code Online (Sandbox Code Playgroud)
从文档中:
html- HTML 标签的基本字符串处理排序 - 删除 HTML 标签进行
排序过滤 - 从过滤字符串中删除 HTML 标签
有关详细信息,请参阅columns.type 。