【发布时间】:2016-12-16 01:12:11
【问题描述】:
我正在尝试使用 Angularjs 框架创建一个 jQuery Datatable,使用此 example 中的第二个答案。一旦 ng-repeat 完成加载表,我将初始化 DataTable()。
会出现箭头、过滤器和搜索栏,但由于某种原因,如果您单击箭头,它们不会排序。它们在上下之间切换,但不排序。当我希望搜索框搜索行中的实际值时,搜索框还会按标题名称搜索。
当单击按钮并收到 HTTP 响应时会填充表格的“itms”,因此在呈现整个表格之前不会调用 .DataTable()。
我还测试了一个表,其中 itms 是硬编码的,它工作得很好。我错过了什么?
JS:
angular.module('abcapp')
.directive('repeatDone', function() {
return function(scope, element, attrs) {
if (scope.$last) { // all are rendered
$('#my-table').DataTable();
}
}
})
HTML:
<div ng-if="itms && itms.length > 0" class="row">
<table id="my-table" class="table table-striped" cellspacing="0" width="100%">
<thead>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
</tr>
</thead>
<tfoot>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
</tr>
</tfoot>
<tbody>
<tr ng-repeat="itm in itms track by $index" repeat-done>
<td>{{itm.a}}</td>
<td>{{itm.b}}</td>
<td>{{itm.c}}</td>
<td>{{itm.d}}</td>
</tr>
</tbody>
</table>
</div>
【问题讨论】:
-
仅供参考,已经有一个为此设计的完全充实的库,angular-datatables。
标签: jquery html angularjs datatables