2015-04-29 92 views
0

我是jquery DataTable的忠实粉丝,但是我意识到使用AngularJs,它不起作用,它显示所有数据与分页,并说“表中没有可用数据显示0条目0到0”。我看到网站http://l-lin.github.io/angular-datatables/,但我不能让它工作,即时通讯从数据库中获取信息。即时新闻角JS。所以基本上有一种人为的方式来使用jQuery数据表和角度并成功?Jquery DataTable Angular

 Arr     = new Object(); 
     Arr['Accion']  = "ObtenerDatosPersonal"; 
     params    = JSON.stringify(Arr); 

     var url = 'modulos/personal/funciones.php'; 
     $http({ 
      method: "post", 
      url: url, 
      data: $.param({params:params}), 
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 
     }).success(function(data, status, headers, config) { 
      $scope.Empleadosmodal = data.Empleados; 
      Cantidad    = Empleados.length; 

      $('#Empleados').DataTable(); 
      $("#myModal").modal("show");  
     })/*Success*/ 
     .error(function(data, status, headers, config) 
     { 
      alert("Ha fallado la petición. Estado HTTP:"+status); 
     }); 
+0

在浏览器开发工具中检查请求,它是由?任何错误?你不能在字符串上使用'$ .param()'。最好把你的代码放在一个指令中,你可以使用'element.Datatable()',并且已经有可用于数据表的开源指令 – charlietfl

+0

没有错误,我可以看到表上的整个数据,但是jQuery数据表不会识别表格中的数据。 – Lindemann18

回答

0

我不是很清楚你的疑问。但是我用角度数据表的支持,使用了jquery的数据表。 您需要在页面中添加以相同的顺序如下参考,

<script src="jquery.min.js"></script> 
<script src="jquery.dataTables.min.js"></script> 
<script src="angular.min.js"></script> 
<script src="angular-datatables.min.js"></script> 

使用table标签一样,

 <table id="example" datatable="ng" dt-options="dtOptions" class="table table-striped table-bordered dt-responsive nowrap" cellspacing="0" width="100%"> 

然后加入DTOptionsBuilder服务到控制器。

app.controller('userController',ListCtrl); 
ListCtrl.$inject['$scope', 'DTOptionsBuilder', 'DTColumnBuilder']; 
function ListCtrl($scope, DTOptionsBuilder, DTColumnBuilder) { 

............... 
} 

添加以下的控制器功能,

$scope.dtOptions = DTOptionsBuilder.newOptions() 
.withOption('responsive', true) 
.withOption('bAutoWidth', false) 
.withPaginationType('full_numbers') 
.withDOM('frtip'); 

这就是全部。它为我工作。请注意,

element.DataTable() 

不需要在使用angularJs数据表时调用。