I'm using jqueryDataTables to sort data in tables in my app.
Rather then using a script tag on the page which it needs to be on, figured I could just include it inside of my Angular Controller code for that view, however I'm and getting a strange error.
I've used a mix of jQuery before inside of Angular, so not sure why it's not working in this case.
Error and code below:
TypeError: Cannot read property 'childNodes' of undefined
// Controller for Manage Users
app.controller('ManageUsersController', function($scope) {
// Init
$scope.status_dropdown = false;
$scope.deactivate_btn = false;
// Check all users:
this.checkAll = function(target) {
var checkboxes = document.getElementsByName('checkboxUser');
var checkAll = document.getElementsByName('checkboxAll');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = checkAll[0].checked;
}
};
alert('1');
$('#manage_users_table').DataTable();
alert('2');
});
HTML during first alert message:
HTML during 2nd alert message, after DataTable()
has been initialized:
The alert pops up twice for each.
HTML
Gist: https://gist.github.com/leongaban/4f1de6bee8672b4177e5
<div id="manage_content" class="page" ng-controller="ManageUsersController as manageUsers">
<table id="manage_users_table" width="100%">
<tr>... hardcoded table data here
<!-- PRODUCTION SCRIPTS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- DEVELOPMENT SCRIPTS -->
<!-- Libs & Vendors -->
<script src="src/js/libs/angular.min.js"></script>
<script src="src/js/libs/angular-route.min.js"></script>
<script src="src/js/libs/jquery.dataTables.js"></script>
<script src="src/js/vendors/modernizr.min.js"></script>
<script src="src/js/vendors/bootstrap.min.js"></script>
<!-- Modules -->
<script src="src/js/modules/app.js"></script>
<script src="src/js/modules/products.js"></script>
<script src="src/js/modules/manage.js"></script>
<script src="src/js/modules/profile.js"></script>
</body>