Tengo este Bootstrap DataTable, con el siguiente código HTML y Javascript, sin ningún CSS adicional. Siguiendo la documentación, traté de insertar las diversas operaciones de respuesta dentro del código Javascript, pero nada parece funcionar. La tabla no se encoge con la página y no se flexiona. Todos los enlaces adicionales se han importado, por lo que realmente no entiendo dónde podría estar el problema:
$(document).ready(function() { $("#feedback").DataTable({ aaSorting: [], responsive: true, columnDefs: [ { responsivePriority: 1, targets: 0 }, { responsivePriority: 2, targets: -1 } ] }); $('[data-toggle="tooltip"]').tooltip(); } ); <div id="div-feedback" class="container"> <div class="row py-5"> <div class="col-12"> <table id="feedback" class="table table-striped table-bordered responsive" style="width: 100%;"> <thead> <tr> <th>#ID</th> <th>Titolo</th> <th>Commento</th> <th>Valutazione</th> <th>Azione</th> </tr> </thead> <tbody> <% if ( feedback != null && feedback.size() != 0) { for ( FeedbackBean fb: feedback) { %> <tr> <td><%=fb.getIdFeedback() %></td> <td><%=fb.getTitolo() %></td> <td><%=fb.getCommento() %></td> <td><%=fb.getValutazione() %></td> <td><button type="button" class="btn bg-cart">Elimina</button></td> </tr> <%}} %> </tbody> </table> </div> </div> </div>tienes que dar un contenedor principal de clase sensible
<div class="table-responsive"> <table class="table table-striped table-bordered">...</table> </div> <div id="div-feedback" class="container"> <div class="table-responsive"> <table id="feedback" class="table table-striped table-bordered"> <thead> <tr> <th>#ID</th> <th>Titolo</th> <th>Commento</th> <th>Valutazione</th> <th>Azione</th> </tr> </thead> <tbody> <% if ( feedback != null && feedback.size() != 0) { for ( FeedbackBean fb: feedback) { %> <tr> <td> <%=fb.getIdFeedback() %> </td> <td> <%=fb.getTitolo() %> </td> <td> <%=fb.getCommento() %> </td> <td> <%=fb.getValutazione() %> </td> <td><button type="button" class="btn bg-cart">Elimina</button></td> </tr> <%}} %> </tbody> </table> </div> </div>